diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index b2f7730498478626ab9f66a9520ea8e684f9fe44..bf04d4f7e8984c097bb030aaf6c66c3e685c9e97 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -42,7 +42,7 @@ static BOOL start_screensaver( void )
     if (using_root)
     {
         const char *argv[3] = { "xdg-screensaver", "activate", NULL };
-        int pid = spawnvp( _P_NOWAIT, argv[0], argv );
+        int pid = spawnvp( _P_DETACH, argv[0], argv );
         if (pid > 0)
         {
             WINE_TRACE( "started process %d\n", pid );