diff -Nur gtk+-3.16.6.orig/gdk/win32/gdkevents-win32.c gtk+-3.16.6/gdk/win32/gdkevents-win32.c
--- gtk+-3.16.6.orig/gdk/win32/gdkevents-win32.c	2015-07-21 14:07:10.000000000 +0200
+++ gtk+-3.16.6/gdk/win32/gdkevents-win32.c	2015-08-26 14:08:44.430688808 +0200
@@ -3126,6 +3126,36 @@
       return_val = TRUE;
       break;
 
+    case WM_STYLECHANGING:
+    case WM_STYLECHANGED:
+      if (GDK_WINDOW_DESTROYED (window))
+	break;
+
+      impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
+
+      GDK_NOTE (EVENTS, g_print ("%s%*sWindow %p (HWND %p) %s (%d) %s from 0x%08lx to 0x%08lx\n",
+                (debug_indent > 0 ? "\n" : ""),
+                debug_indent, "",
+                window, GDK_WINDOW_HWND (window),
+                (msg->wParam == GWL_STYLE) ? "style" :
+                  (msg->wParam == GWL_EXSTYLE) ? "extended style" :
+                    "something", msg->wParam,
+                (msg->message == WM_STYLECHANGING) ? "is changing" : "has changed",
+                ((STYLESTRUCT *) msg->lParam)->styleOld,
+                ((STYLESTRUCT *) msg->lParam)->styleNew));
+
+      if (GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE) & WS_EX_TOPMOST)
+        {
+          API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window),
+                                   HWND_NOTOPMOST,
+                                   0, 0, 0, 0,
+                                   SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE));
+        }
+
+      /* We don't really handle this message */
+      return_val = FALSE;
+      break;
+
     case WM_CLOSE:
       if (GDK_WINDOW_DESTROYED (window))
 	break;
