diff --git a/src/contact-item.cpp b/src/contact-item.cpp
index 9ce1b66..60e9a93 100644
--- a/src/contact-item.cpp
+++ b/src/contact-item.cpp
@@ -37,7 +37,10 @@
   m_name = string(nameBlob->buf(), nameBlob->size());
   m_alias = alias.empty() ? m_name : alias;
   Ptr<const Blob> institutionBlob = profileData->getProfile().getProfileEntry("institution");
-  m_institution = string(institutionBlob->buf(), institutionBlob->size());
+  if(institutionBlob != NULL)
+    m_institution = string(institutionBlob->buf(), institutionBlob->size());
+  else
+    m_institution = string();
 }
 
 ContactItem::ContactItem(const ContactItem& contactItem)
diff --git a/src/contact-manager.cpp b/src/contact-manager.cpp
index 2203ffe..13e4adb 100644
--- a/src/contact-manager.cpp
+++ b/src/contact-manager.cpp
@@ -72,11 +72,16 @@
   policyManager->addVerificationPolicyRule(Ptr<IdentityPolicyRule>(new IdentityPolicyRule("^([^<KEY>]*)<KEY><dsk-.*><ID-CERT>",
 											  "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$",
 											  "==", "\\1", "\\1\\2", true)));
+  policyManager->addVerificationPolicyRule(Ptr<IdentityPolicyRule>(new IdentityPolicyRule("^(<>*)$", 
+                                                                                          "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$", 
+                                                                                          ">", "\\1", "\\1\\2", true)));
+  
 
   policyManager->addSigningPolicyRule(Ptr<IdentityPolicyRule>(new IdentityPolicyRule("^([^<DNS>]*)<DNS><PROFILE>",
                                                                                      "^([^<KEY>]*)<KEY>(<>*)<><ID-CERT>",
                                                                                      "==", "\\1", "\\1\\2", true)));
 
+
   const string TrustAnchor("BIICqgOyEIWlKzDI2xX2hdq5Azheu9IVyewcV4uM7ylfh67Y8MIxF3tDCTx5JgEn\
 HYMuCaYQm6XuaXTlVfDdWff/K7Xebq8IgGxjNBeU9eMf7Gy9iIMrRAOdBG0dBHmo\
 67biGs8F+P1oh1FwKu/FN1AE9vh8HSOJ94PWmjO+6PvITFIXuI3QbcCz8rhvbsfb\
@@ -280,11 +285,17 @@
 
 void
 ContactManager::onKeyUnverified(Ptr<Data> data, const Name& identity)
-{ emit contactKeyFetchFailed (identity); }
+{ 
+  _LOG_DEBUG("Key cannot be verified!");
+  emit contactKeyFetchFailed (identity); 
+}
 
 void
 ContactManager::onKeyTimeout(Ptr<Closure> closure, Ptr<Interest> interest, const Name& identity, int retry)
-{ emit contactKeyFetchFailed(identity); }
+{ 
+  _LOG_DEBUG("Key timeout!");
+  emit contactKeyFetchFailed(identity); 
+}
 
 void
 ContactManager::onIdCertificateVerified(Ptr<Data> data, const Name& identity)
