--- a/libgksu/libgksu.c
+++ b/libgksu/libgksu.c
@@ -1789,7 +1789,17 @@
 gksu_context_launch_initiate (GksuContext *context)
 {
   gchar *sid = NULL;
-  guint32 launch_time = gdk_x11_display_get_user_time (gdk_display_get_default ());
+  // guint32 launch_time = gdk_x11_display_get_user_time(GDK_DISPLAY());
+  // ^---- does not work reliable and reports absurdly large launch times 
+  //       for me
+  // *cry* we create a fake-window, realize it to get the
+  // current server time. there must be a simpler way,
+  // but I don't know it!
+  GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+  gtk_widget_realize(win);
+  gtk_widget_add_events (GTK_WIDGET (win), GDK_PROPERTY_CHANGE_MASK);
+  guint32 launch_time = gdk_x11_get_server_time(win->window);
+
   static gboolean initiated = FALSE;
 
   if (!initiated)
