diff --git a/src/currentcallview.cpp b/src/currentcallview.cpp
index 5a3d55c..3a3d88b 100644
--- a/src/currentcallview.cpp
+++ b/src/currentcallview.cpp
@@ -66,7 +66,7 @@
     GtkWidget *vbox_call_smartInfo;
     GtkWidget *image_peer;
     GtkWidget *label_name;
-    GtkWidget *label_uri;
+    GtkWidget *label_bestId;
     GtkWidget *label_status;
     GtkWidget *label_duration;
     GtkWidget *label_smartinfo_description;
@@ -505,7 +505,7 @@
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, vbox_call_smartInfo);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, image_peer);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, label_name);
-    gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, label_uri);
+    gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, label_bestId);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, label_status);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, label_duration);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), CurrentCallView, label_smartinfo_description);
@@ -658,9 +658,9 @@
         auto cat_contactId = g_strdup_printf("(%s) %s"
                                        ,priv->call->peerContactMethod()->category()->name().toUtf8().constData()
                                        ,contactId.toUtf8().constData());
-        gtk_label_set_text(GTK_LABEL(priv->label_uri), cat_contactId);
+        gtk_label_set_text(GTK_LABEL(priv->label_bestId), cat_contactId);
         g_free(cat_contactId);
-        gtk_widget_show(priv->label_uri);
+        gtk_widget_show(priv->label_bestId);
     }
 
     /* change some things depending on call state */
diff --git a/src/incomingcallview.cpp b/src/incomingcallview.cpp
index a9ba5df..80bb749 100644
--- a/src/incomingcallview.cpp
+++ b/src/incomingcallview.cpp
@@ -49,7 +49,7 @@
     GtkWidget *paned_call;
     GtkWidget *image_incoming;
     GtkWidget *label_name;
-    GtkWidget *label_uri;
+    GtkWidget *label_bestId;
     GtkWidget *spinner_status;
     GtkWidget *placeholder;
     GtkWidget *label_status;
@@ -133,7 +133,7 @@
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, paned_call);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, image_incoming);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, label_name);
-    gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, label_uri);
+    gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, label_bestId);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, spinner_status);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, placeholder);
     gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS (klass), IncomingCallView, label_status);
@@ -214,12 +214,12 @@
     /* get uri, if different from name */
     auto uri = call->peerContactMethod()->uri();
     if (name != uri) {
-        auto cat_uri = g_strdup_printf("(%s) %s"
+        auto cat_bestId = g_strdup_printf("(%s) %s"
                                        ,call->peerContactMethod()->category()->name().toUtf8().constData()
                                        ,uri.toUtf8().constData());
-        gtk_label_set_text(GTK_LABEL(priv->label_uri), cat_uri);
-        g_free(cat_uri);
-        gtk_widget_show(priv->label_uri);
+        gtk_label_set_text(GTK_LABEL(priv->label_bestId), cat_bestId);
+        g_free(cat_bestId);
+        gtk_widget_show(priv->label_bestId);
     }
 
     /* change some things depending on call state */
