diff --git a/src/call.cpp b/src/call.cpp
index 3f5bd6063f58a8f07b8b335759000ba312d7775b..e13752e3d7716fbbc4a13a408ee3fb8de315d81c 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -2183,7 +2183,7 @@ QVariant Call::roleData(int role) const
          return dialNumber();
       case static_cast<int>(Ring::Role::Number):
       case static_cast<int>(Call::Role::Number):
-         return peerContactMethod()->uri();
+         return peerContactMethod()->getBestId();
       case Qt::DecorationRole:
          return GlobalInstances::pixmapManipulator().decorationRole(this);
       case static_cast<int>(Call::Role::Direction):
diff --git a/src/contactmethod.cpp b/src/contactmethod.cpp
index c21c2ef52b8237fa4b59e878ae498cc49ff14c6c..96ff35e47cdb37d19ed2fb14de3a5b26fa65685b 100644
--- a/src/contactmethod.cpp
+++ b/src/contactmethod.cpp
@@ -552,12 +552,14 @@ QVariant ContactMethod::roleData(int role) const
       case Qt::ToolTipRole:
          cat = presenceMessage();
          break;
+      case static_cast<int>(Role::Uri):
+         cat = uri();
+         break;
       case Qt::DisplayRole:
       case Qt::EditRole:
-      case static_cast<int>(Role::Uri):
       case static_cast<int>(Ring::Role::Number):
       case static_cast<int>(Call::Role::Number):
-         cat = uri();
+         cat = getBestId();
          break;
       case Qt::DecorationRole:
          return GlobalInstances::pixmapManipulator().decorationRole(this);