Index: gdk/win32/gdkwindow-win32.c
===================================================================
--- gdk/win32/gdkwindow-win32.c	(revision 19341)
+++ gdk/win32/gdkwindow-win32.c	(working copy)
@@ -1985,6 +1985,8 @@
               trans_impl->transient_children = NULL;
             }
         }
+      g_object_unref (G_OBJECT (window_impl->transient_owner));
+      g_object_unref (G_OBJECT (window));
 
       window_impl->transient_owner = NULL;
     }
@@ -1993,8 +1995,10 @@
       parent_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (parent)->impl);
 
       parent_impl->transient_children = g_slist_append (parent_impl->transient_children, window);
+      g_object_ref (G_OBJECT (window));
       parent_impl->num_transients++;
       window_impl->transient_owner = parent;
+      g_object_ref (G_OBJECT (parent));
     }
 
   /* This changes the *owner* of the window, despite the misleading
