diff --git a/daemon/src/managerimpl_registration.cpp b/daemon/src/managerimpl_registration.cpp
index 4e80e7e266d5c48b39c2e10b12548241d20deb43..940d1e0aeb7f063729a963ba4ae74f497111b419 100644
--- a/daemon/src/managerimpl_registration.cpp
+++ b/daemon/src/managerimpl_registration.cpp
@@ -49,14 +49,14 @@
 void
 ManagerImpl::registerAccounts()
 {
-    AccountMap::iterator iter;
+    for (AccountMap::iterator iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) {
+    	Account *a = iter->second;
+        if (!a)
+			continue;
 
-    for (iter = _accountMap.begin(); iter != _accountMap.end(); ++iter) {
-        if (iter->second) {
-            iter->second->loadConfig();
-            if (iter->second->isEnabled())
-                iter->second->registerVoIPLink();
-        }
+        a->loadConfig();
+		if (a->isEnabled())
+			a->registerVoIPLink();
     }
 }