diff --git a/src/xfpm-dpms.c b/src/xfpm-dpms.c
index c1e2f26ca02cd0cf3cbc0fcc78f1e1768454a72e..855f70fdc8de3c4ca18e9d9ba6310de3b4c7568b 100644
--- a/src/xfpm-dpms.c
+++ b/src/xfpm-dpms.c
@@ -312,6 +312,8 @@ void xfpm_dpms_force_level (XfpmDpms *dpms, CARD16 level)
 	    g_warning ("Cannot set Force DPMS level %d", level);
 	    goto out;
 	}
+	if ( level == DPMSModeOn )
+	    XResetScreenSaver (GDK_DISPLAY ());
 	XSync (GDK_DISPLAY (), FALSE);
     }
     else