diff -Naur slapt-update-service-0.5.0b-old//src/client.c slapt-update-service-0.5.0b/src/client.c
--- slapt-update-service-0.5.0b-old//src/client.c	2010-10-16 18:24:04.000000000 +0300
+++ slapt-update-service-0.5.0b/src/client.c	2011-03-03 00:24:34.416000261 +0200
@@ -33,7 +33,7 @@
 #define _(x) gettext(x)
 #define SUN_RUNNING_ICON PIXMAPS_DIR "/slapt-update-notifier-idle.png"
 #define SUN_UPDATE_ICON PIXMAPS_DIR "/slapt-update-notifier-update.png"
-#define SUN_TIMEOUT_RECHECK 14400000 /* 1000*(4*60*60), 4 hours */
+#define SUN_TIMEOUT_RECHECK 14400000 /* 1000*(2*60*60), 2 hours */
 #define NOTIFICATION_DEFAULT "default"
 #define NOTIFICATION_IGNORE "ignore"
 #define NOTIFICATION_SHOW_UPDATES "show updates"
@@ -53,35 +53,15 @@
 static void run_gslapt (const char *action)
 {
   gchar *argv[4];
-#if defined(HAS_GNOMESU)
-  argv[0] = "/usr/bin/gnomesu";
-  argv[1] = "-c";
-  if ( strcmp(action,"upgrade") == 0 ) {
-    argv[2] = "/usr/sbin/gslapt --upgrade";
-  } else {
-    argv[2] = "/usr/sbin/gslapt";
-  }
-  argv[3] = NULL;
-#elif defined(HAS_GKSU)
-  argv[0] = "/usr/bin/gksu";
-  if ( strcmp(action,"upgrade") == 0 ) {
-    argv[1] = "/usr/sbin/gslapt --upgrade";
-  } else {
-    argv[1] = "/usr/sbin/gslapt";
-  }
-  argv[2] = NULL;
-#elif defined(HAS_KDESU)
-  argv[0] = "/usr/bin/kdesu";
+
+  argv[0] = "/usr/libexec/slapt-update-service-su";
   if ( strcmp(action,"upgrade") == 0 ) {
     argv[1] = "/usr/sbin/gslapt --upgrade";
   } else {
     argv[1] = "/usr/sbin/gslapt";
   }
   argv[2] = NULL;
-#else
-  #error unable to create command to run gslapt
-#endif
-
+  
   g_spawn_async (NULL, argv, NULL, 0, NULL, NULL, NULL, NULL);
   hide_sun();
 }
