diff --git a/sflphone-client-gnome/src/contacts/calltree.c b/sflphone-client-gnome/src/contacts/calltree.c
index 8a265047edc46dee3b3051798f01ab5e993bdc5c..df957319f202f14e084fc8481506fe93673b3ce1 100644
--- a/sflphone-client-gnome/src/contacts/calltree.c
+++ b/sflphone-client-gnome/src/contacts/calltree.c
@@ -51,7 +51,9 @@ GtkWidget *sw;
 GtkCellRenderer *rend;
 GtkTreeViewColumn *col;
 GtkTreeSelection *sel;
+
 GtkWidget *popupmenu = NULL;
+GtkWidget *menu_items = NULL;
 
 gint dragged_type;
 gint selected_type;
@@ -538,7 +540,6 @@ focus_on_calltree_in()
 void
 calltree_create (calltab_t* tab, gboolean searchbar_type)
 {
-    GtkWidget *menu_items;
     gchar *conference = SFL_CREATE_CONFERENCE;
     gchar *transfer = SFL_TRANSFER_CALL;
 
@@ -607,18 +608,18 @@ calltree_create (calltab_t* tab, gboolean searchbar_type)
 
         menu_items = gtk_menu_item_new_with_label (transfer);
         g_signal_connect_swapped (menu_items, "activate",
-                                                      G_CALLBACK (menuitem_response),
-                                                      (gpointer) g_strdup (transfer));
+                                  G_CALLBACK (menuitem_response), (gpointer) g_strdup (transfer));
         gtk_menu_shell_append (GTK_MENU_SHELL (popupmenu), menu_items);
         gtk_widget_show (menu_items);
 
         menu_items = gtk_menu_item_new_with_label (conference);
         g_signal_connect_swapped (menu_items, "activate",
-                                              G_CALLBACK (menuitem_response),
-                                              (gpointer) g_strdup (conference));
+                                  G_CALLBACK (menuitem_response), (gpointer) g_strdup (conference));
         gtk_menu_shell_append (GTK_MENU_SHELL (popupmenu), menu_items);
         gtk_widget_show (menu_items);
 
+
+
     }
 
 
@@ -1666,8 +1667,6 @@ static void drag_end_cb (GtkWidget * widget UNUSED, GdkDragContext * context UNU
         }
     } else {
 
-        // selected_path_depth == 2
-
         if (dragged_path_depth == 1) {
 
             if (selected_type == A_CALL && dragged_type == A_CALL) {
@@ -1713,6 +1712,9 @@ static void drag_end_cb (GtkWidget * widget UNUSED, GdkDragContext * context UNU
                 DEBUG ("Dragged a call in the same conference");
                 calltree_remove_call (current_calls, selected_call, NULL);
                 calltree_add_call (current_calls, selected_call, &parent_conference);
+                gtk_widget_hide(menu_items);
+                gtk_menu_popup (GTK_MENU (popupmenu), NULL, NULL, NULL, NULL,
+                                                               0, 0);
             } else {
 
 
@@ -1852,15 +1854,6 @@ static void menuitem_response( gchar *string )
         sflphone_join_participant (selected_call->_callID, dragged_call->_callID);
     }
     else if(g_strcmp0(string, SFL_TRANSFER_CALL) == 0) {
-        /*
-        if(selected_call->_state == CALL_STATE_HOLD && dragged_call->_state == CALL_STATE_CURRENT) {
-            g_print("Calltree: Transfering call %s, to %s", selected_call->_peer_number, dragged_call->_peer_number);
-            selected_call->_trsft_to = g_strdup(dragged_call->_peer_number);
-            dbus_hang_up (dragged_call);
-            dbus_transfert (c);
-            dbus_attended_transfer();
-        }
-        */
         g_print("Calltree: Transfering call %s, to %s", selected_call->_peer_number, dragged_call->_peer_number);
         dbus_attended_transfer(selected_call, dragged_call);
     }
@@ -1868,6 +1861,10 @@ static void menuitem_response( gchar *string )
         g_print("CallTree: Error unknown option selected in menu %s", string);
     }
 
+    // Make sure the create conference opetion will appear next time the menu pops
+    // The create conference option will hide if tow call from the same conference are draged on each other
+    gtk_widget_show(menu_items);
+
     printf ("%s\n", string);
 }