diff --git a/src/phonedirectorymodel.cpp b/src/phonedirectorymodel.cpp
index 766d2cdfe04558afdf6625b5ca3288463e5cb698..f6b6df06a22c628a59759d438c9b86250774978e 100644
--- a/src/phonedirectorymodel.cpp
+++ b/src/phonedirectorymodel.cpp
@@ -104,7 +104,15 @@ QVariant PhoneDirectoryModel::data(const QModelIndex& index, int role ) const
    const ContactMethod* number = d_ptr->m_lNumbers[index.row()];
    switch (static_cast<PhoneDirectoryModelPrivate::Columns>(index.column())) {
       case PhoneDirectoryModelPrivate::Columns::URI:
-         return number->roleData(role);
+         switch (role) {
+            case Qt::DisplayRole:
+               return number->uri();
+            case Qt::DecorationRole :
+               return GlobalInstances::pixmapManipulator().decorationRole(number);
+            case (int) Role::Object:
+               return QVariant::fromValue(const_cast<ContactMethod*>(number));
+         }
+         break;
       case PhoneDirectoryModelPrivate::Columns::TYPE:
          switch (role) {
             case Qt::DisplayRole: