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-27 14:33:48.727648197 +0200
@@ -3332,7 +3332,20 @@
 done:
 
   if (window)
-    g_object_unref (window);
+    {
+      if (GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE) & WS_EX_TOPMOST)
+        {
+          if (GDK_WINDOW_TYPE (window) != GDK_WINDOW_TEMP)
+            {
+              API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window),
+                                       HWND_NOTOPMOST,
+                                       0, 0, 0, 0,
+                                       SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE));
+            }
+        }
+
+      g_object_unref (window);
+    }
   
 #undef return
   return return_val;
