diff --git a/win32ss/user/ntuser/display.c b/win32ss/user/ntuser/display.c
index 20bbdfceac..3f2b99cc22 100644
--- a/win32ss/user/ntuser/display.c
+++ b/win32ss/user/ntuser/display.c
@@ -783,6 +783,13 @@ UserChangeDisplaySettings(
         }
     }
 
+    /* Check if DEVMODE matches the current mode */
+    if (pdm == ppdev->pdmwDev && !(flags & CDS_RESET))
+    {
+        ERR("DEVMODE matches, nothing to do\n");
+        goto leave;
+    }
+
     /* Shall we apply the settings? */
     if (!(flags & CDS_NORESET))
     {
@@ -926,6 +933,11 @@ NtUserChangeDisplaySettings(
         return DISP_CHANGE_BADFLAGS;
     }
 
+    if ((dwflags & CDS_RESET) && (dwflags & CDS_NORESET))
+    {
+        return DISP_CHANGE_BADFLAGS;
+    }
+
     /* Copy the device name */
     if (pustrDevice)
     {
