diff --git a/gnome/src/contacts/calltree.c b/gnome/src/contacts/calltree.c
index 38780bd68797b0d710a93751ae07a9d7aebb571d..d06951613ec824ae8d9c6afcca45b534421bcbfb 100644
--- a/gnome/src/contacts/calltree.c
+++ b/gnome/src/contacts/calltree.c
@@ -62,26 +62,26 @@ static GtkTreeSelection *calltree_sel = NULL;
 static GtkWidget *calltree_popupmenu = NULL;
 static GtkWidget *calltree_menu_items = NULL;
 
-static CallType calltree_dragged_type = A_INVALID;
-static CallType calltree_selected_type = A_INVALID;
+static CallType calltree_dest_type = A_INVALID;
+static CallType calltree_source_type = A_INVALID;
 
-static const gchar *calltree_dragged_call_id = NULL;
-static const gchar *calltree_selected_call_id = NULL;
-static const gchar *calltree_selected_call_id_for_drag = NULL;
-static const gchar *calltree_dragged_path = NULL;
-static const gchar *calltree_selected_path = NULL;
-static const gchar *calltree_selected_path_for_drag = NULL;
+static const gchar *calltree_dest_call_id = NULL;
+static const gchar *calltree_source_call_id = NULL;
+static const gchar *calltree_source_call_id_for_drag = NULL;
+static const gchar *calltree_dest_path = NULL;
+static const gchar *calltree_source_path = NULL;
+static const gchar *calltree_source_path_for_drag = NULL;
 
-static gint calltree_dragged_path_depth = -1;
-static gint calltree_selected_path_depth = -1;
-static gint calltree_selected_path_depth_for_drag = -1;
+static gint calltree_dest_path_depth = -1;
+static gint calltree_source_path_depth = -1;
+static gint calltree_source_path_depth_for_drag = -1;
 
-static callable_obj_t *calltree_dragged_call = NULL;
-static callable_obj_t *calltree_selected_call = NULL;
-static callable_obj_t *calltree_selected_call_for_drag = NULL;
+static callable_obj_t *calltree_dest_call = NULL;
+static callable_obj_t *calltree_source_call = NULL;
+static callable_obj_t *calltree_source_call_for_drag = NULL;
 
-static conference_obj_t *calltree_dragged_conf = NULL;
-static conference_obj_t *calltree_selected_conf = NULL;
+static conference_obj_t *calltree_dest_conf = NULL;
+static conference_obj_t *calltree_source_conf = NULL;
 
 static void drag_data_get_cb(GtkTreeDragSource *drag_source, GtkTreePath *path, GtkSelectionData *selection_data, gpointer data);
 static void drag_end_cb(GtkWidget *, GdkDragContext *, gpointer);
@@ -149,7 +149,7 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED)
     // store info for dragndrop
     GtkTreePath *path = gtk_tree_model_get_path(model, &iter);
     gchar *string_path = gtk_tree_path_to_string(path);
-    calltree_selected_path_depth = gtk_tree_path_get_depth(path);
+    calltree_source_path_depth = gtk_tree_path_get_depth(path);
     DEBUG("Selected path: %s", string_path);
 
     GValue val = G_VALUE_INIT;
@@ -158,41 +158,41 @@ call_selected_cb(GtkTreeSelection *sel, void* data UNUSED)
 
     if (is_conference(model, &iter)) {
         DEBUG("CallTree: Selected a conference");
-        calltree_selected_type = A_CONFERENCE;
+        calltree_source_type = A_CONFERENCE;
 
-        calltree_selected_conf = (conference_obj_t*) g_value_get_pointer(&val);
+        calltree_source_conf = (conference_obj_t*) g_value_get_pointer(&val);
         g_value_unset(&val);
 
-        if (calltree_selected_conf) {
-            calltab_select_conf(active_calltree_tab, calltree_selected_conf);
-            calltree_selected_call_id = calltree_selected_conf->_confID;
-            calltree_selected_path = string_path;
-            calltree_selected_call = NULL;
+        if (calltree_source_conf) {
+            calltab_select_conf(active_calltree_tab, calltree_source_conf);
+            calltree_source_call_id = calltree_source_conf->_confID;
+            calltree_source_path = string_path;
+            calltree_source_call = NULL;
 
-            if (calltree_selected_conf->_im_widget)
-                im_window_show_tab(calltree_selected_conf->_im_widget);
+            if (calltree_source_conf->_im_widget)
+                im_window_show_tab(calltree_source_conf->_im_widget);
 
-            DEBUG("CallTree: selected_path %s, selected_conf_id %s, selected_path_depth %d",
-                  calltree_selected_path, calltree_selected_call_id, calltree_selected_path_depth);
+            DEBUG("CallTree: source_path %s, source_conf_id %s, source_path_depth %d",
+                  calltree_source_path, calltree_source_call_id, calltree_source_path_depth);
         }
     } else {
         DEBUG("CallTree: Selected a call");
-        calltree_selected_type = A_CALL;
+        calltree_source_type = A_CALL;
 
-        calltree_selected_call = g_value_get_pointer(&val);
+        calltree_source_call = g_value_get_pointer(&val);
         g_value_unset(&val);
 
-        if (calltree_selected_call) {
-            calltab_select_call(active_calltree_tab, calltree_selected_call);
-            calltree_selected_call_id = calltree_selected_call->_callID;
-            calltree_selected_path = string_path;
-            calltree_selected_conf = NULL;
+        if (calltree_source_call) {
+            calltab_select_call(active_calltree_tab, calltree_source_call);
+            calltree_source_call_id = calltree_source_call->_callID;
+            calltree_source_path = string_path;
+            calltree_source_conf = NULL;
 
-            if (calltree_selected_call->_im_widget)
-                im_window_show_tab(calltree_selected_call->_im_widget);
+            if (calltree_source_call->_im_widget)
+                im_window_show_tab(calltree_source_call->_im_widget);
 
-            DEBUG("CallTree: selected_path %s, selected_call_id %s, selected_path_depth %d",
-                  calltree_selected_path, calltree_selected_call_id, calltree_selected_path_depth);
+            DEBUG("CallTree: source_path %s, source_call_id %s, source_path_depth %d",
+                  calltree_source_path, calltree_source_call_id, calltree_source_path_depth);
         }
     }
 
@@ -1239,19 +1239,19 @@ static void drag_data_get_cb(GtkTreeDragSource *drag_source UNUSED, GtkTreePath
 static void drag_begin_cb (GtkWidget *widget UNUSED, GdkDragContext *context UNUSED, gpointer data UNUSED)
 {
     DEBUG("CallTree: Source Drag Begin callback");
-    DEBUG("CallTreeS: selected_path %s, selected_call_id %s, selected_path_depth %d",
-          calltree_selected_path, calltree_selected_call_id, calltree_selected_path_depth);
-    calltree_selected_path_for_drag = calltree_selected_path;
-    calltree_selected_call_id_for_drag = calltree_selected_call_id;
-    calltree_selected_path_depth_for_drag = calltree_selected_path_depth;
-    calltree_selected_call_for_drag = calltree_selected_call;
+    DEBUG("CallTreeS: source_path %s, source_call_id %s, source_path_depth %d",
+          calltree_source_path, calltree_source_call_id, calltree_source_path_depth);
+    calltree_source_path_for_drag = calltree_source_path;
+    calltree_source_call_id_for_drag = calltree_source_call_id;
+    calltree_source_path_depth_for_drag = calltree_source_path_depth;
+    calltree_source_call_for_drag = calltree_source_call;
 }
 
 static void undo_drag_call_action(callable_obj_t *c, GtkTreePath *spath)
 {
     calltree_remove_call(current_calls_tab, c);
 
-    if (spath && calltree_selected_call_for_drag->_confID) {
+    if (spath && calltree_source_call_for_drag->_confID) {
         gtk_tree_path_up(spath);
         // conference for which this call is attached
         GtkTreeIter parent_conference;
@@ -1262,177 +1262,172 @@ static void undo_drag_call_action(callable_obj_t *c, GtkTreePath *spath)
         calltree_add_call(current_calls_tab, c, NULL);
     }
 
-    calltree_dragged_call = NULL;
+    calltree_dest_call = NULL;
 }
 
-static void drag_end_cb(GtkWidget * widget UNUSED, GdkDragContext * context UNUSED, gpointer data UNUSED)
+static void drag_end_cb(GtkWidget * widget, GdkDragContext * context UNUSED, gpointer data UNUSED)
 {
     if (active_calltree_tab == history_tab)
         return;
 
-    DEBUG("CallTree: Source Drag End callback");
-    DEBUG("CallTreeS: selected_path %s, selected_call_id %s, selected_path_depth %d",
-          calltree_selected_path_for_drag, calltree_selected_call_id_for_drag, calltree_selected_path_depth_for_drag);
-    DEBUG("CallTree: dragged path %s, dragged_call_id %s, dragged_path_depth %d",
-          calltree_selected_path, calltree_selected_call_id, calltree_selected_path_depth);
+    DEBUG("CallTree: Drag End callback");
+    DEBUG("CallTreeS: source_path %s, source_call_id %s, source_path_depth %d",
+          calltree_source_path_for_drag, calltree_source_call_id_for_drag, calltree_source_path_depth_for_drag);
+    DEBUG("CallTree: dest path %s, dest %s, dest_path_depth %d",
+          calltree_source_path, calltree_source_call_id, calltree_source_path_depth);
 
     GtkTreeView *treeview = GTK_TREE_VIEW(widget);
     GtkTreeModel *model = gtk_tree_view_get_model(treeview);
 
-    calltree_dragged_path = calltree_selected_path;
-    calltree_dragged_call_id = calltree_selected_call_id;
-    calltree_dragged_path_depth = calltree_selected_path_depth;
+    calltree_dest_path = calltree_source_path;
+    calltree_dest_call_id = calltree_source_call_id;
+    calltree_dest_path_depth = calltree_source_path_depth;
 
-    GtkTreePath *path = gtk_tree_path_new_from_string(calltree_dragged_path);
-    GtkTreePath *dpath = gtk_tree_path_new_from_string(calltree_dragged_path);
-    GtkTreePath *spath = gtk_tree_path_new_from_string(calltree_selected_path_for_drag);
+    GtkTreePath *path = gtk_tree_path_new_from_string(calltree_dest_path);
+    GtkTreePath *dpath = gtk_tree_path_new_from_string(calltree_dest_path);
+    GtkTreePath *spath = gtk_tree_path_new_from_string(calltree_source_path_for_drag);
 
     GtkTreeIter iter;
 
-    // Make sure drag n drop does not imply a dialing call for either selected and dragged call
-    if (calltree_selected_call && (calltree_selected_type == A_CALL)) {
+    // Make sure drag n drop does not imply a dialing call for either source and dest call
+    if (calltree_source_call && (calltree_source_type == A_CALL)) {
         DEBUG("CallTree: Selected a call");
 
-        if (non_draggable_call(calltree_selected_call)) {
+        if (non_draggable_call(calltree_source_call)) {
             DEBUG("CallTree: Selected an invalid call");
-            undo_drag_call_action(calltree_selected_call_for_drag, NULL);
+            undo_drag_call_action(calltree_source_call_for_drag, NULL);
             return;
         }
 
-        if (calltree_dragged_call && (calltree_dragged_type == A_CALL)) {
+        if (calltree_dest_call && (calltree_dest_type == A_CALL)) {
 
             DEBUG("CallTree: Dragged on a call");
 
-            if (non_draggable_call(calltree_dragged_call)) {
+            if (non_draggable_call(calltree_dest_call)) {
                 DEBUG("CallTree: Dragged on an invalid call");
-                undo_drag_call_action(calltree_selected_call_for_drag, spath);
+                undo_drag_call_action(calltree_source_call_for_drag, spath);
                 return;
             }
         }
     }
 
     // Make sure a conference is only dragged on another conference
-    if (calltree_selected_conf && (calltree_selected_type == A_CONFERENCE)) {
+    if (calltree_source_conf && (calltree_source_type == A_CONFERENCE)) {
+        DEBUG("Selected a conference");
+        if (!calltree_dest_conf && (calltree_dest_type == A_CALL)) {
 
-        DEBUG("CallTree: Selected a conference");
-
-        if (!calltree_dragged_conf && (calltree_dragged_type == A_CALL)) {
-
-            DEBUG("CallTree: Dragged on a call");
-            conference_obj_t* conf = calltree_selected_conf;
+            ERROR("Dragged a conference on a call, destination conference is NULL");
+            conference_obj_t* conf = calltree_source_conf;
 
             calltree_remove_conference(current_calls_tab, conf);
             calltree_add_conference_to_current_calls(conf);
 
-            calltree_dragged_call = NULL;
+            calltree_dest_call = NULL;
             return;
         }
     }
 
-    if (calltree_selected_path_depth_for_drag == 1) {
-        if (calltree_dragged_path_depth == 1) {
-            if (calltree_selected_type == A_CALL && calltree_dragged_type == A_CALL) {
-                // dragged a single call on a single call
-                if (calltree_selected_call_for_drag && calltree_dragged_call) {
-                    calltree_remove_call(current_calls_tab, calltree_selected_call_for_drag);
-                    calltree_add_call(current_calls_tab, calltree_selected_call_for_drag, NULL);
+    if (calltree_source_path_depth_for_drag == 1) {
+        if (calltree_dest_path_depth == 1) {
+            if (calltree_source_type == A_CALL && calltree_dest_type == A_CALL) {
+                DEBUG("Dragged a call on a call");
+                if (calltree_source_call_for_drag && calltree_dest_call) {
+                    calltree_remove_call(current_calls_tab, calltree_source_call_for_drag);
+                    calltree_add_call(current_calls_tab, calltree_source_call_for_drag, NULL);
                     // pop menu to determine if we actually create a conference or do a call transfer
                     gtk_menu_popup(GTK_MENU(calltree_popupmenu), NULL, NULL, NULL, NULL, 0, 0);
                 }
-            } else if (calltree_selected_type == A_CALL && calltree_dragged_type == A_CONFERENCE) {
-
-                // dragged a single call on a conference
-                if (!calltree_selected_call_for_drag) {
-                    DEBUG("Error: call dragged on a conference is null");
+            } else if (calltree_source_type == A_CALL && calltree_dest_type == A_CONFERENCE) {
+                DEBUG("Dragged a call on a conference");
+                if (!calltree_source_call_for_drag) {
+                    ERROR("Dragged a NULL call on a conference");
                     return;
                 }
 
-                g_free(calltree_selected_call_for_drag->_confID);
-                calltree_selected_call_for_drag->_confID = g_strdup(calltree_dragged_call_id);
-
-                g_free(calltree_selected_call_for_drag->_historyConfID);
-                calltree_selected_call_for_drag->_historyConfID = g_strdup(calltree_dragged_call_id);
+                g_free(calltree_source_call_for_drag->_confID);
+                calltree_source_call_for_drag->_confID = g_strdup(calltree_dest_call_id);
 
-                sflphone_add_participant(calltree_selected_call_id_for_drag, calltree_dragged_call_id);
-            } else if (calltree_selected_type == A_CONFERENCE && calltree_dragged_type == A_CALL) {
-
-                // dragged a conference on a single call
-                conference_obj_t* conf = calltree_selected_conf;
+                g_free(calltree_source_call_for_drag->_historyConfID);
+                calltree_source_call_for_drag->_historyConfID = g_strdup(calltree_dest_call_id);
 
+                sflphone_add_participant(calltree_source_call_id_for_drag, calltree_dest_call_id);
+            } else if (calltree_source_type == A_CONFERENCE && calltree_dest_type == A_CALL) {
+#warning FIXME: didn't we say above that you can't drag a conference on a call?
+                DEBUG("Dragged a conference on a call");
+                conference_obj_t* conf = calltree_source_conf;
                 calltree_remove_conference(current_calls_tab, conf);
                 calltree_add_conference_to_current_calls(conf);
-
-            } else if (calltree_selected_type == A_CONFERENCE && calltree_dragged_type == A_CONFERENCE) {
-
-                // dragged a conference on a conference
+            } else if (calltree_source_type == A_CONFERENCE && calltree_dest_type == A_CONFERENCE) {
+                DEBUG("Dragged a conference on a conference");
                 if (gtk_tree_path_compare(dpath, spath) == 0) {
 
                     if (!current_calls_tab) {
-                        DEBUG("Error while joining the same conference\n");
+                        ERROR("Error while joining the same conference");
                         return;
                     }
 
-                    DEBUG("Joined the same conference!\n");
+                    DEBUG("Joined the same conference!");
                     gtk_tree_view_expand_row(GTK_TREE_VIEW(current_calls_tab->view), path, FALSE);
                 } else {
-                    if (!calltree_selected_conf)
-                        DEBUG("Error: selected conference is null while joining 2 conference");
+                    if (!calltree_source_conf) {
+                        ERROR("Source conference is null while joining conferences");
+                        return;
+                    }
 
-                    if (!calltree_dragged_conf)
-                        DEBUG("Error: dragged conference is null while joining 2 conference");
+                    if (!calltree_dest_conf) {
+                        ERROR("Dest conference is null while joining conferences");
+                        return;
+                    }
 
-                    DEBUG("Joined conferences %s and %s!\n", calltree_dragged_path, calltree_selected_path);
-                    dbus_join_conference(calltree_selected_conf->_confID, calltree_dragged_conf->_confID);
+                    DEBUG("Joined conferences %s and %s!\n", calltree_dest_path, calltree_source_path);
+                    dbus_join_conference(calltree_source_conf->_confID, calltree_dest_conf->_confID);
                 }
+            } else {
+                ERROR("Unexpected drag and drop scenario");
+                // TODO: dragged a single call on a NULL element (should do nothing)
+                // TODO: dragged a conference on a NULL element (should do nothing)
             }
-
-            // TODO: dragged a single call on a NULL element (should do nothing)
-            // TODO: dragged a conference on a NULL element (should do nothing)
-
-        } else {
-            // dragged_path_depth == 2
-            if (calltree_selected_type == A_CALL && calltree_dragged_type == A_CALL) {
+        } else if (calltree_dest_path_depth == 2) {
+            if (calltree_source_type == A_CALL && calltree_dest_type == A_CALL) {
                 // TODO: dragged a call on a conference call
-                calltree_remove_call(current_calls_tab, calltree_selected_call);
-                calltree_add_call(current_calls_tab, calltree_selected_call, NULL);
+                calltree_remove_call(current_calls_tab, calltree_source_call);
+                calltree_add_call(current_calls_tab, calltree_source_call, NULL);
 
-            } else if (calltree_selected_type == A_CONFERENCE && calltree_dragged_type == A_CALL) {
+            } else if (calltree_source_type == A_CONFERENCE && calltree_dest_type == A_CALL) {
                 // TODO: dragged a conference on a conference call
-                calltree_remove_conference(current_calls_tab, calltree_selected_conf);
-                calltree_add_conference_to_current_calls(calltree_selected_conf);
+                calltree_remove_conference(current_calls_tab, calltree_source_conf);
+                calltree_add_conference_to_current_calls(calltree_source_conf);
+            } else {
+                ERROR("Unexpected drag and drop scenario");
+                // TODO: dragged a single call on a NULL element
+                // TODO: dragged a conference on a NULL element
             }
-
-            // TODO: dragged a single call on a NULL element
-            // TODO: dragged a conference on a NULL element
+        } else {
+            ERROR("Unexpected calltree dest path depth %d", calltree_dest_path_depth);
         }
     } else {
+        if (calltree_dest_path_depth == 1) {
+            if (calltree_source_type == A_CALL && calltree_dest_type == A_CALL) {
+                DEBUG("Dragged a conference call on a call");
+                sflphone_detach_participant(calltree_source_call_id);
 
-        if (calltree_dragged_path_depth == 1) {
-            if (calltree_selected_type == A_CALL && calltree_dragged_type == A_CALL) {
-
-                // dragged a conference call on a call
-                sflphone_detach_participant(calltree_selected_call_id);
-
-                if (calltree_selected_call && calltree_dragged_call)
-                    gtk_menu_popup(GTK_MENU(calltree_popupmenu), NULL, NULL, NULL, NULL,
-                                   0, 0);
+                if (calltree_source_call && calltree_dest_call)
+                    gtk_menu_popup(GTK_MENU(calltree_popupmenu), NULL, NULL, NULL, NULL, 0, 0);
 
-            } else if (calltree_selected_type == A_CALL && calltree_dragged_type == A_CONFERENCE) {
+            } else if (calltree_source_type == A_CALL && calltree_dest_type == A_CONFERENCE) {
                 // dragged a conference call on a conference
-                sflphone_detach_participant(calltree_selected_call_id);
+                sflphone_detach_participant(calltree_source_call_id);
 
-                if (calltree_selected_call && calltree_dragged_conf) {
+                if (calltree_source_call && calltree_dest_conf) {
                     DEBUG("Adding a participant, since dragged call on a conference");
-                    sflphone_add_participant(calltree_selected_call_id, calltree_dragged_call_id);
+                    sflphone_add_participant(calltree_source_call_id, calltree_dest_call_id);
                 }
             } else {
-                // dragged a conference call on a NULL element
-                sflphone_detach_participant(calltree_selected_call_id);
+                DEBUG("Dragged a conference call on a NULL element");
+                sflphone_detach_participant(calltree_source_call_id);
             }
-
-        } else {
-            // dragged_path_depth == 2
-            // dragged a conference call on another conference call (same conference)
+        } else if (calltree_dest_path_depth == 2) {
+            DEBUG("Dragged a conference call on another conference call (same conference");
             // TODO: dragged a conference call on another conference call (different conference)
 
             gtk_tree_path_up(path);
@@ -1444,16 +1439,14 @@ static void drag_end_cb(GtkWidget * widget UNUSED, GdkDragContext * context UNUS
             gtk_tree_path_up(spath);
 
             if (gtk_tree_path_compare(dpath, spath) == 0) {
-
                 DEBUG("Dragged a call in the same conference");
-                calltree_remove_call(current_calls_tab, calltree_selected_call);
-                calltree_add_call(current_calls_tab, calltree_selected_call, &parent_conference);
+                calltree_remove_call(current_calls_tab, calltree_source_call);
+                calltree_add_call(current_calls_tab, calltree_source_call, &parent_conference);
                 gtk_widget_hide(calltree_menu_items);
                 gtk_menu_popup(GTK_MENU(calltree_popupmenu), NULL, NULL, NULL, NULL,
-                               0, 0);
+                        0, 0);
             } else {
                 DEBUG("Dragged a conference call onto another conference call %s, %s", gtk_tree_path_to_string(dpath), gtk_tree_path_to_string(spath));
-
                 conference_obj_t *conf = NULL;
 
                 if (gtk_tree_model_get_iter(model, &iter, dpath)) {
@@ -1465,14 +1458,15 @@ static void drag_end_cb(GtkWidget * widget UNUSED, GdkDragContext * context UNUS
                     }
                 }
 
-                sflphone_detach_participant(calltree_selected_call_id);
+                sflphone_detach_participant(calltree_source_call_id);
 
                 if (conf)
-                    sflphone_add_participant(calltree_selected_call_id, conf->_confID);
+                    sflphone_add_participant(calltree_source_call_id, conf->_confID);
                 else
-                    DEBUG("didn't find a conf!");
+                    ERROR("Didn't find a conference!");
             }
-
+        } else {
+            ERROR("Unexpected calltree dragged path depth");
             // TODO: dragged a conference call on another conference call (different conference)
             // TODO: dragged a conference call on a NULL element (same conference)
             // TODO: dragged a conference call on a NULL element (different conference)
@@ -1508,12 +1502,12 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context UNUSED, gi
 
         if (is_conference(tree_model, &iter)) {
             DEBUG("CallTree: Dragging on a conference");
-            calltree_dragged_type = A_CONFERENCE;
-            calltree_dragged_call = NULL;
+            calltree_dest_type = A_CONFERENCE;
+            calltree_dest_call = NULL;
         } else {
             DEBUG("CallTree: Dragging on a call");
-            calltree_dragged_type = A_CALL;
-            calltree_dragged_conf = NULL;
+            calltree_dest_type = A_CALL;
+            calltree_dest_conf = NULL;
         }
 
         DEBUG("Position %d", position);
@@ -1522,25 +1516,25 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context UNUSED, gi
             case GTK_TREE_VIEW_DROP_AFTER:
                 /* fallthrough */
             case GTK_TREE_VIEW_DROP_BEFORE:
-                calltree_dragged_path = gtk_tree_path_to_string(drop_path);
-                calltree_dragged_path_depth = gtk_tree_path_get_depth(drop_path);
-                calltree_dragged_call_id = NULL;
-                calltree_dragged_call = NULL;
-                calltree_dragged_conf = NULL;
+                calltree_dest_path = gtk_tree_path_to_string(drop_path);
+                calltree_dest_path_depth = gtk_tree_path_get_depth(drop_path);
+                calltree_dest_call_id = NULL;
+                calltree_dest_call = NULL;
+                calltree_dest_conf = NULL;
                 break;
 
             case GTK_TREE_VIEW_DROP_INTO_OR_AFTER:
                 /* fallthrough */
             case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE:
-                calltree_dragged_path = gtk_tree_path_to_string(drop_path);
-                calltree_dragged_path_depth = gtk_tree_path_get_depth(drop_path);
+                calltree_dest_path = gtk_tree_path_to_string(drop_path);
+                calltree_dest_path_depth = gtk_tree_path_get_depth(drop_path);
 
-                if (calltree_dragged_type == A_CALL) {
-                    calltree_dragged_call_id = ((callable_obj_t*) g_value_get_pointer(&val))->_callID;
-                    calltree_dragged_call = (callable_obj_t*) g_value_get_pointer(&val);
+                if (calltree_dest_type == A_CALL) {
+                    calltree_dest_call_id = ((callable_obj_t*) g_value_get_pointer(&val))->_callID;
+                    calltree_dest_call = (callable_obj_t*) g_value_get_pointer(&val);
                 } else {
-                    calltree_dragged_call_id = ((conference_obj_t*) g_value_get_pointer(&val))->_confID;
-                    calltree_dragged_conf = (conference_obj_t*) g_value_get_pointer(&val);
+                    calltree_dest_call_id = ((conference_obj_t*) g_value_get_pointer(&val))->_confID;
+                    calltree_dest_conf = (conference_obj_t*) g_value_get_pointer(&val);
                 }
                 break;
 
@@ -1556,16 +1550,16 @@ void drag_data_received_cb(GtkWidget *widget, GdkDragContext *context UNUSED, gi
 static void menuitem_response(gchar *string)
 {
     if (g_strcmp0(string, SFL_CREATE_CONFERENCE) == 0)
-        dbus_join_participant(calltree_selected_call_for_drag->_callID,
-                              calltree_dragged_call->_callID);
+        dbus_join_participant(calltree_source_call_for_drag->_callID,
+                              calltree_dest_call->_callID);
     else if (g_strcmp0(string, SFL_TRANSFER_CALL) == 0) {
         DEBUG("Calltree: Transferring call %s, to %s",
-              calltree_selected_call->_peer_number,
-              calltree_dragged_call->_peer_number);
-        dbus_attended_transfer(calltree_selected_call, calltree_dragged_call);
-        calltree_remove_call(current_calls_tab, calltree_selected_call);
+              calltree_source_call->_peer_number,
+              calltree_dest_call->_peer_number);
+        dbus_attended_transfer(calltree_source_call, calltree_dest_call);
+        calltree_remove_call(current_calls_tab, calltree_source_call);
     } else
-        DEBUG("CallTree: Error unknown option selected in menu %s", string);
+        DEBUG("CallTree: Error unknown option in menu %s", string);
 
     // Make sure the create conference option 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