diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c
index b5c76f8aeb6e3bde9ee9436ea6de598dfa402401..b499688045321b8cdaada84afff0ae7d107fcfe5 100644
--- a/common/utils/itti_analyzer/libui/ui_callbacks.c
+++ b/common/utils/itti_analyzer/libui/ui_callbacks.c
@@ -693,7 +693,7 @@ gboolean ui_callback_on_connect(GtkWidget *widget, gpointer data)
                 return FALSE;
             }
 
-            dialogbox_connect = gtk_message_dialog_new (GTK_WINDOW(ui_main_data.window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_OTHER,
+            dialogbox_connect = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_OTHER,
                                                 GTK_BUTTONS_CANCEL, message_formats[start ? 0 : 1], ui_ip, ui_port);
             gtk_window_set_title (GTK_WINDOW(dialogbox_connect), "Connect");
 
@@ -721,6 +721,7 @@ gboolean ui_callback_on_connect(GtkWidget *widget, gpointer data)
                 operation_running = FALSE;
             }
             gtk_widget_destroy (dialogbox_connect);
+            dialogbox_connect = NULL;
         }
     }
 
@@ -733,8 +734,15 @@ gboolean ui_callback_on_disconnect(GtkWidget *widget, gpointer data)
 
     ui_pipe_write_message (ui_main_data.pipe_fd[0], UI_PIPE_DISCONNECT_EVT, NULL, 0);
 
-    ui_enable_connect_button ();
-    operation_running = FALSE;
+    if (dialogbox_connect != NULL)
+    {
+        gtk_dialog_response(GTK_DIALOG (dialogbox_connect), GTK_RESPONSE_CLOSE);
+    }
+    else
+    {
+        ui_enable_connect_button ();
+        operation_running = FALSE;
+    }
 
     return TRUE;
 }