diff --git a/src/contactmodel.cpp b/src/contactmodel.cpp
index 1960a776b25a38ad1c69c788404fb76e654c78b6..4bb1f3a0cc743f4efa93460c4b925ae0d9565169 100644
--- a/src/contactmodel.cpp
+++ b/src/contactmodel.cpp
@@ -177,6 +177,11 @@ Contact* ContactModel::getPlaceHolder(const QByteArray& uid )
       return ct;
    }
 
+   //Do not re-create if it already exist
+   ct = m_hPlaceholders[uid];
+   if (ct)
+      return ct;
+
    ContactPlaceHolder* ct2 = new ContactPlaceHolder(uid);
 
    m_hPlaceholders[ct2->uid()] = ct2;