diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c
index 76dc08847..93f6795b2 100644
--- a/src/video/x11/SDL_x11window.c
+++ b/src/video/x11/SDL_x11window.c
@@ -1108,6 +1108,12 @@ X11_SetWindowFullscreenViaWM(_THIS, SDL_Window * window, SDL_VideoDisplay * _dis
         }
     }
 
+    /* Fullscreen windows sometimes end up being marked maximized by
+        window managers. Force it back to how we expect it to be. */
+    if (!fullscreen && (window->flags & SDL_WINDOW_MAXIMIZED) == 0) {
+        SetWindowMaximized(_this, window, SDL_FALSE);
+    }
+
     X11_XFlush(display);
 }