diff --git a/kde/src/AkonadiBackend.cpp b/kde/src/AkonadiBackend.cpp
index cbf270c44c535bffcd09b9458b2d123658b5a68a..c0a216eac246ae8e22a06333f18d41391bb67e1d 100644
--- a/kde/src/AkonadiBackend.cpp
+++ b/kde/src/AkonadiBackend.cpp
@@ -145,6 +145,27 @@ void AkonadiBackend::addNewContact(Contact* contact)
    newContact.setOrganization   ( contact->getOrganization()    );
    //newContact.setPreferredEmail ( contact->getPreferredEmail()  );//TODO
 
+   foreach (Contact::PhoneNumber* nb, contact->getPhoneNumbers()) {
+      KABC::PhoneNumber pn;
+      if (nb->getType()      == "Home"   ) pn.setType(KABC::PhoneNumber::Home  );
+      else if (nb->getType() == "Work"   ) pn.setType(KABC::PhoneNumber::Work  );
+      else if (nb->getType() == "Msg"    ) pn.setType(KABC::PhoneNumber::Msg   );
+      else if (nb->getType() == "Pref"   ) pn.setType(KABC::PhoneNumber::Pref  );
+      else if (nb->getType() == "Voice"  ) pn.setType(KABC::PhoneNumber::Voice );
+      else if (nb->getType() == "Fax"    ) pn.setType(KABC::PhoneNumber::Fax   );
+      else if (nb->getType() == "Cell"   ) pn.setType(KABC::PhoneNumber::Cell  );
+      else if (nb->getType() == "Video"  ) pn.setType(KABC::PhoneNumber::Video );
+      else if (nb->getType() == "Bbs"    ) pn.setType(KABC::PhoneNumber::Bbs   );
+      else if (nb->getType() == "Modem"  ) pn.setType(KABC::PhoneNumber::Modem );
+      else if (nb->getType() == "Car"    ) pn.setType(KABC::PhoneNumber::Car   );
+      else if (nb->getType() == "Isdn"   ) pn.setType(KABC::PhoneNumber::Isdn  );
+      else if (nb->getType() == "Pcs"    ) pn.setType(KABC::PhoneNumber::Pcs   );
+      else if (nb->getType() == "Pager"  ) pn.setType(KABC::PhoneNumber::Pager );
+
+      pn.setNumber(nb->getNumber());
+      newContact.insertPhoneNumber(pn);
+   }
+
             
    //aContact->setPhoneNumbers   (newNumbers           );//TODO
    
diff --git a/kde/src/lib/Contact.cpp b/kde/src/lib/Contact.cpp
index 768da13b001f49c85b8bbc869442ef3ed88de6c9..4a8f718ffc81ff6bb4b5fae9dad25698bd5a47ec 100644
--- a/kde/src/lib/Contact.cpp
+++ b/kde/src/lib/Contact.cpp
@@ -25,7 +25,7 @@
 #include "sflphone_const.h"
 
 
-Contact::Contact()
+Contact::Contact():m_pPhoto(0)
 {
    initItem();
 }
diff --git a/kde/src/widgets/HistoryTreeItem.cpp b/kde/src/widgets/HistoryTreeItem.cpp
index ec0b77906757832ec4ae41b2f175804b0f213ed1..856c7c87a7d4d03984e3eb39a14dd01668750865 100644
--- a/kde/src/widgets/HistoryTreeItem.cpp
+++ b/kde/src/widgets/HistoryTreeItem.cpp
@@ -147,7 +147,8 @@ bool HistoryTreeItem::getContactInfo(QString phoneNumber)
 {
    Contact* contact = AkonadiBackend::getInstance()->getContactByPhone(phoneNumber);
    if (contact) {
-      labelIcon->setPixmap(*contact->getPhoto());
+      if (contact->getPhoto() != NULL)
+         labelIcon->setPixmap(*contact->getPhoto());
       labelPeerName->setText("<b>"+contact->getFormattedName()+"</b>");
    }
    else {