diff --git a/PKGBUILD b/PKGBUILD
index fc98b5765148d4169780f290725faa710204a76d..7f00b734960301176c57828e121987593b891e14 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
 # Contributor: Juergen Hoetzel <juergen@archlinux.org>
 
 pkgname=lxsession
-pkgver=0.5.1
+pkgver=0.5.2
 pkgrel=1
 epoch=1
 pkgdesc='Lightweight X11 session manager'
@@ -11,22 +11,12 @@ arch=('i686' 'x86_64')
 url="http://lxde.org/"
 license=('GPL2')
 groups=('lxde')
-depends=('gtk2' 'dbus-glib' 'polkit')
+depends=('dbus-glib' 'gtk2' 'libunique' 'polkit')
 makedepends=('intltool' 'docbook-xsl' 'vala')
 replaces=('lxpolkit' 'lxsession-lite' 'lxde-settings-daemon')
 conflicts=('lxpolkit' 'lxsession-lite' 'lxde-settings-daemon')
-source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.xz
-        fix-lxsession-db.patch)
-md5sums=('39bf77d637fbe40318f91d0d888127fc'
-         'b6508ab44282f56c91d89a8c2c245438')
-
-prepare() {
-  cd $pkgname-$pkgver
-
-  # lxsession-db: Don't hang when MIME folders are not available.
-  # https://sourceforge.net/p/lxde/patches/479/
-  patch -Np1 -i ../fix-lxsession-db.patch
-}
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.xz)
+md5sums=('2957acccbf9ce37ef8205ec5424f8047')
 
 build() {
   cd $pkgname-$pkgver
@@ -37,7 +27,4 @@ build() {
 package() {
   cd $pkgname-$pkgver
   make DESTDIR="$pkgdir" install 
-
-  # Remove lxpolkit autostart file as we already launch it by lxsession
-  rm -r "$pkgdir/etc"
 }
diff --git a/fix-lxsession-db.patch b/fix-lxsession-db.patch
deleted file mode 100644
index ad04f799da100cedf14cfb43fc61bef2739f21f4..0000000000000000000000000000000000000000
--- a/fix-lxsession-db.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -Naur lxsession-0.5.1.orig/lxsession-db/desktop-files-backend.vala lxsession-0.5.1/lxsession-db/desktop-files-backend.vala
---- lxsession-0.5.1.orig/lxsession-db/desktop-files-backend.vala	2014-10-17 18:54:57.000000000 +0200
-+++ lxsession-0.5.1/lxsession-db/desktop-files-backend.vala	2014-10-19 20:50:49.587801950 +0200
-@@ -254,16 +254,8 @@
-             {
-                 foreach (string folder in default_available)
-                 {
--                    var dir_log = File.new_for_path (folder);
--                    if (dir_log.query_exists ())
--                    {
--                        message ("Scanning folder: %s", folder);
--                        list_desktop_files.begin (folder, "available");
--                    }
--                    else
--                    {
--                        message ("%s doesn't exist. Pass", folder);
--                    }
-+                    message ("Scanning folder: %s", folder);
-+                    list_desktop_files.begin (folder, "available");
-                 }
-             }
-             else
-@@ -323,21 +315,21 @@
-                         }
-                     }
-                 }
--
--                if (mode == "installed")
--                {
--                    finish_scanning_installed();
--                }
--                else if (mode == "available")
--                {
--                    finish_scanning_available();
--                }
--
-             } 
-             catch (Error err)
-             {
-                 stderr.printf ("Error: list_files failed: %s\n", err.message);
-             }
-+
-+            if (mode == "installed")
-+            {
-+                finish_scanning_installed();
-+            }
-+            else if (mode == "available")
-+            {
-+                finish_scanning_available();
-+            }
-+
-             message ("Finishing scanning\n");
-         }
-