diff --git a/.baobab.metadata b/.baobab.metadata
index 4cd69df..1839054 100644
--- a/.baobab.metadata
+++ b/.baobab.metadata
@@ -1 +1 @@
-9d8cb55a24f08e94ad94ef8abed233494bbe174a SOURCES/baobab-3.22.1.tar.xz
+72f2ba2f03ae31992c769537bd939cfea4327000 SOURCES/baobab-3.28.0.tar.xz
diff --git a/.gitignore b/.gitignore
index 0f572f5..501baf6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/baobab-3.22.1.tar.xz
+SOURCES/baobab-3.28.0.tar.xz
diff --git a/SOURCES/build-Fix-gschema-translations.patch b/SOURCES/build-Fix-gschema-translations.patch
new file mode 100644
index 0000000..1220053
--- /dev/null
+++ b/SOURCES/build-Fix-gschema-translations.patch
@@ -0,0 +1,63 @@
+From 80f7e1c144103d52a877f2d42db6a427867591f6 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Thu, 14 Jun 2018 15:22:15 +0200
+Subject: [PATCH 2/2] build: Fix gschema translations
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+After meson port, translations are merged in gschema file, which doesn't
+work:
+
+$ LANG=en_US gsettings describe org.gnome.baobab.preferences excluded-uris
+Una lista d'URI t'as particiones que cal excluir de l'anal�s.
+
+Translations should not be merged in gschema files and also I don't see any
+other gschema file with merged translations in /usr/share/glib-2.0/schemas/.
+Let's install gschema file as is. After this change, translations works as
+expected.
+---
+ data/meson.build                                           | 7 ++-----
+ ....baobab.gschema.xml.in => org.gnome.baobab.gschema.xml} | 0
+ po/POTFILES.in                                             | 2 +-
+ 3 files changed, 3 insertions(+), 6 deletions(-)
+ rename data/{org.gnome.baobab.gschema.xml.in => org.gnome.baobab.gschema.xml} (100%)
+
+diff --git a/data/meson.build b/data/meson.build
+index 5b1ef00..98d1d69 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -22,11 +22,8 @@ appdata_file = i18n.merge_file(
+   install_dir: join_paths(get_option('datadir'), 'metainfo'),
+ )
+ 
+-gschema_file = i18n.merge_file(
+-  input: 'org.gnome.baobab.gschema.xml.in',
+-  output: 'org.gnome.baobab.gschema.xml',
+-  po_dir: '../po',
+-  install: true,
++install_data (
++  'org.gnome.baobab.gschema.xml',
+   install_dir: join_paths(get_option('datadir'), 'glib-2.0', 'schemas')
+ )
+ 
+diff --git a/data/org.gnome.baobab.gschema.xml.in b/data/org.gnome.baobab.gschema.xml
+similarity index 100%
+rename from data/org.gnome.baobab.gschema.xml.in
+rename to data/org.gnome.baobab.gschema.xml
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 0c9452a..f3d6521 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -2,7 +2,7 @@
+ # Please keep this file sorted alphabetically.
+ data/org.gnome.baobab.appdata.xml.in
+ data/org.gnome.baobab.desktop.in
+-data/org.gnome.baobab.gschema.xml.in
++data/org.gnome.baobab.gschema.xml
+ src/baobab-application.vala
+ src/baobab-cellrenderers.vala
+ src/baobab-location-list.ui
+-- 
+2.17.1
+
diff --git a/SOURCES/build-Fix-setting-GNOMELOCALEDIR.patch b/SOURCES/build-Fix-setting-GNOMELOCALEDIR.patch
new file mode 100644
index 0000000..d45da02
--- /dev/null
+++ b/SOURCES/build-Fix-setting-GNOMELOCALEDIR.patch
@@ -0,0 +1,26 @@
+From 884fb555173c46fcb4a80a5cc9cbd32bad8186ba Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Piotr=20Dr=C4=85g?= <piotrdrag@gmail.com>
+Date: Fri, 16 Mar 2018 19:57:53 +0100
+Subject: [PATCH] build: Fix setting GNOMELOCALEDIR
+
+https://bugzilla.gnome.org/show_bug.cgi?id=794381
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 30d996d..ad1b1d3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -23,7 +23,7 @@ conf.set_quoted('PACKAGE_NAME', meson.project_name())
+ conf.set_quoted('PACKAGE_VERSION', meson.project_version())
+ conf.set_quoted('VERSION', meson.project_version())
+ conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
+-conf.set_quoted('GNOMELOCALEDIR', join_paths(get_option('prefix'), get_option('datadir'), '/locale'))
++conf.set_quoted('GNOMELOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
+ configure_file(output: 'config.h', configuration: conf)
+ config_h_dir = include_directories('.')
+ 
+-- 
+2.17.0
+
diff --git a/SOURCES/build-Install-also-24x24-icons.patch b/SOURCES/build-Install-also-24x24-icons.patch
new file mode 100644
index 0000000..a7d675a
--- /dev/null
+++ b/SOURCES/build-Install-also-24x24-icons.patch
@@ -0,0 +1,25 @@
+From 5848e8d544dd975454d4ef671c5b8b7ef91ccc83 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Thu, 14 Jun 2018 14:48:45 +0200
+Subject: [PATCH 1/2] build: Install also 24x24 icons
+
+After the meson port, 24x24 icons are not installed. Let's add missing
+24x24 icon size in meson.build to install them.
+---
+ data/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index a2d22ed..5b1ef00 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -1,5 +1,5 @@
+ icondir = join_paths(get_option('datadir'), 'icons/hicolor')
+-foreach size: ['16x16', '22x22', '32x32', '48x48', '256x256', 'symbolic']
++foreach size: ['16x16', '22x22', '24x24', '32x32', '48x48', '256x256', 'symbolic']
+   install_subdir('icons/hicolor/' + size, install_dir: icondir)
+ endforeach
+ 
+-- 
+2.17.1
+
diff --git a/SPECS/baobab.spec b/SPECS/baobab.spec
index 3bd0e41..1a4727b 100644
--- a/SPECS/baobab.spec
+++ b/SPECS/baobab.spec
@@ -1,19 +1,24 @@
 %global gtk3_version 3.19.1
 
 Name:           baobab
-Version:        3.22.1
-Release:        1%{?dist}
+Version:        3.28.0
+Release:        2%{?dist}
 Summary:        A graphical directory tree analyzer
 
 License:        GPLv2+ and GFDL
 URL:            https://wiki.gnome.org/Apps/Baobab
-Source0:        https://download.gnome.org/sources/baobab/3.22/%{name}-%{version}.tar.xz
+Source0:        https://download.gnome.org/sources/baobab/3.28/%{name}-%{version}.tar.xz
+
+Patch0:         build-Fix-setting-GNOMELOCALEDIR.patch
+Patch1:         build-Install-also-24x24-icons.patch
+Patch2:         build-Fix-gschema-translations.patch
 
 BuildRequires:  pkgconfig(gtk+-3.0) >= %{gtk3_version}
 BuildRequires:  /usr/bin/appstream-util
 BuildRequires:  desktop-file-utils
 BuildRequires:  gettext
 BuildRequires:  itstool
+BuildRequires:  meson
 BuildRequires:  vala
 
 Requires: gtk3%{?_isa} >= %{gtk3_version}
@@ -30,21 +35,24 @@ any change made to your home folder as far as any mounted/unmounted device.
 
 %prep
 %setup -q
+%patch0 -p1 -b .build-Fix-setting-GNOMELOCALEDIR
+%patch1 -p1 -b .build-Install-also-24x24-icons
+%patch2 -p1 -b .build-Fix-gschema-translations
 
 
 %build
-%configure
-make %{?_smp_mflags}
+%meson
+%meson_build
 
 
 %install
-%make_install
+%meson_install
 
 %find_lang %{name} --with-gnome
 
 
 %check
-appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/org.gnome.baobab.appdata.xml
+appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/org.gnome.baobab.appdata.xml
 desktop-file-validate %{buildroot}/%{_datadir}/applications/org.gnome.baobab.desktop
 
 
@@ -69,16 +77,26 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
 %doc AUTHORS NEWS README
 %license COPYING COPYING.docs
 %{_bindir}/baobab
-%{_datadir}/appdata/org.gnome.baobab.appdata.xml
 %{_datadir}/applications/org.gnome.baobab.desktop
 %{_datadir}/dbus-1/services/org.gnome.baobab.service
 %{_datadir}/icons/hicolor/*/apps/baobab.png
-%{_datadir}/icons/hicolor/scalable/apps/baobab-symbolic.svg
+%{_datadir}/icons/hicolor/symbolic/apps/baobab-symbolic.svg
 %{_datadir}/glib-2.0/schemas/org.gnome.baobab.gschema.xml
+%{_datadir}/metainfo/org.gnome.baobab.appdata.xml
 %{_mandir}/man1/baobab.1*
 
 
 %changelog
+* Fri Jun 22 2018 Ondrej Holy <oholy@redhat.com> - 3.28.0-2
+- Install also 24x24 icons
+- Fix gschema translations
+- Resolves: #1567161
+
+* Mon Mar 12 2018 Kalev Lember <klember@redhat.com> - 3.28.0-1
+- Update to 3.28.0
+- Fix setting GNOMELOCALEDIR
+- Resolves: #1567161
+
 * Thu Feb 16 2017 Ondrej Holy <oholy@redhat.com> - 3.22.1-1
 - Update to 3.22.1
 - Resolves: #1386818