diff --git a/src/dialogs.py b/src/dialogs.py
index 82099761274a43c8a26da5b3c757a60a8199a840..fae968e6d3c2a679a51eb6e58117146300fe896f 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -1623,10 +1623,13 @@ class YesNoDialog(HigDialog):
     """
 
     def __init__(self, pritext, sectext='', checktext='', text_label=None,
-    on_response_yes=None, on_response_no=None, type_=gtk.MESSAGE_QUESTION):
+    on_response_yes=None, on_response_no=None, type_=gtk.MESSAGE_QUESTION,
+    transient_for=None):
         self.user_response_yes = on_response_yes
         self.user_response_no = on_response_no
-        if hasattr(gajim.interface, 'roster') and gajim.interface.roster:
+        if transient_for:
+            parent = transient_for
+        elif hasattr(gajim.interface, 'roster') and gajim.interface.roster:
             parent = gajim.interface.roster.window
         else:
             parent = None
@@ -5149,7 +5152,8 @@ class ESessionInfoWindow:
             self.session.verified_identity = False
             self.update_info()
 
-        YesNoDialog(pritext, sectext, on_response_yes=on_yes, on_response_no=on_no)
+        YesNoDialog(pritext, sectext, on_response_yes=on_yes,
+            on_response_no=on_no, transient_for=self.window)
 
 class GPGInfoWindow:
     """