diff --git a/daemon/src/config/yamlparser.cpp b/daemon/src/config/yamlparser.cpp
index d142f9caf585d035e362199f3b0f9fa9e1be5d42..b75cfbbbf430a06147bb2ff56a5b3d6366c63f47 100644
--- a/daemon/src/config/yamlparser.cpp
+++ b/daemon/src/config/yamlparser.cpp
@@ -67,7 +67,10 @@ YamlParser::YamlParser(const char *file) : filename_(file)
 }
 
 #define CHECK_AND_RETURN(x) \
-    if (!x) throw YamlParserException("Invalid node"); \
+    if (!x) { \
+        ERROR("%s", __PRETTY_FUNCTION__); \
+        throw YamlParserException("Invalid node"); \
+    } \
     return x
 
 SequenceNode *
@@ -453,16 +456,16 @@ void YamlParser::mainNativeDataMapping(MappingNode *map)
 {
     std::map<std::string, YamlNode*> *mapping = map->getMapping();
 
-	accountSequence_    = (SequenceNode*)(*mapping)["accounts"];
+    accountSequence_    = (SequenceNode*)(*mapping)["accounts"];
     addressbookNode_    = (MappingNode*)(*mapping)["addressbook"];
-	audioNode_          = (MappingNode*)(*mapping)["audio"];
+    audioNode_          = (MappingNode*)(*mapping)["audio"];
 #ifdef SFL_VIDEO
-	videoNode_          = (MappingNode*)(*mapping)["video"];
+    videoNode_          = (MappingNode*)(*mapping)["video"];
 #endif
-	hooksNode_          = (MappingNode*)(*mapping)["hooks"];
-	preferenceNode_     = (MappingNode*)(*mapping)["preferences"];
-	voiplinkNode_       = (MappingNode*)(*mapping)["voipPreferences"];
-	shortcutNode_       = (MappingNode*)(*mapping)["shortcuts"];
+    hooksNode_          = (MappingNode*)(*mapping)["hooks"];
+    preferenceNode_     = (MappingNode*)(*mapping)["preferences"];
+    voiplinkNode_       = (MappingNode*)(*mapping)["voipPreferences"];
+    shortcutNode_       = (MappingNode*)(*mapping)["shortcuts"];
 }
 }
 
diff --git a/daemon/src/managerimpl.cpp b/daemon/src/managerimpl.cpp
index de79bdf943d33be9381de9a7f3746407e441e0c3..e700aef52dd0a02143b2a254ec1c60cc5446964f 100644
--- a/daemon/src/managerimpl.cpp
+++ b/daemon/src/managerimpl.cpp
@@ -1244,6 +1244,10 @@ void ManagerImpl::saveConfig()
         addressbookPreference.serialize(emitter);
         hookPreference.serialize(emitter);
         audioPreference.serialize(emitter);
+#ifdef SFL_VIDEO
+        VideoControls *controls(Manager::instance().getDbusManager()->getVideoControls());
+        controls->getVideoPreferences().serialize(emitter);
+#endif
         shortcutPreferences.serialize(emitter);
 
         emitter.serializeData();
diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index 574bef21dc9e9544f30ccf7c3ea35d749f7377dd..5cfd46af67277f0c154cf29cdb55bf28b93e4502 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -707,20 +707,14 @@ Call *SIPVoIPLink::newOutgoingCall(const std::string& id, const std::string& toU
 
     sip_utils::stripSipUriPrefix(toCpy);
 
-    bool IPToIP = isValidIpAddress(toCpy);
+    const bool IPToIP = isValidIpAddress(toCpy);
     Manager::instance().setIPToIPForCall(id, IPToIP);
 
-    try {
-        if (IPToIP) {
-            Manager::instance().associateCallToAccount(id, SIPAccount::IP2IP_PROFILE);
-            return SIPNewIpToIpCall(id, toUrl);
-        }
-        else {
-            return newRegisteredAccountCall(id, toUrl);
-        }
-    }
-    catch(...) {
-        throw;
+    if (IPToIP) {
+        Manager::instance().associateCallToAccount(id, SIPAccount::IP2IP_PROFILE);
+        return SIPNewIpToIpCall(id, toUrl);
+    } else {
+        return newRegisteredAccountCall(id, toUrl);
     }
 }
 
@@ -1237,7 +1231,7 @@ SIPVoIPLink::SIPStartCall(SIPCall *call)
         pjsip_dlg_set_route_set(dialog, sip_utils::createRouteSet(account->getServiceRoute(), call->inv->pool));
 
     if (pjsip_auth_clt_set_credentials(&dialog->auth_sess, account->getCredentialCount(), account->getCredInfo()) != PJ_SUCCESS) {
-        ERROR("Could not initiaize credential for invite session  authentication");
+        ERROR("Could not initialize credential for invite session authentication");
         return false;
     }
 
diff --git a/daemon/src/video/video_preferences.cpp b/daemon/src/video/video_preferences.cpp
index b52f3df3bf969ba65e88b1251c9826574a98e8ee..c8705df52b6967ff921225692170cb3c7ac54e4d 100644
--- a/daemon/src/video/video_preferences.cpp
+++ b/daemon/src/video/video_preferences.cpp
@@ -46,15 +46,17 @@ VideoPreference::VideoPreference() :
 std::map<std::string, std::string> VideoPreference::getSettings()
 {
     std::map<std::string, std::string> args;
-    std::stringstream ss;
-    args["input"] = v4l2_list_->getDeviceNode(device_);
-    ss << v4l2_list_->getChannelNum(device_, channel_);
-    args["channel"] = ss.str();
-    args["video_size"] = size_;
-    size_t x_pos = size_.find("x");
-    args["width"] = size_.substr(0, x_pos);
-    args["height"] = size_.substr(x_pos + 1);
-    args["framerate"] = rate_;
+    if (not device_.empty()) {
+        args["input"] = v4l2_list_->getDeviceNode(device_);
+        std::stringstream ss;
+        ss << v4l2_list_->getChannelNum(device_, channel_);
+        args["channel"] = ss.str();
+        args["video_size"] = size_;
+        size_t x_pos = size_.find("x");
+        args["width"] = size_.substr(0, x_pos);
+        args["height"] = size_.substr(x_pos + 1);
+        args["framerate"] = rate_;
+    }
 
     return args;
 }
@@ -73,7 +75,7 @@ void VideoPreference::serialize(Conf::YamlEmitter &emitter)
     preferencemap.setKeyValue(videoSizeKey, &size);
     preferencemap.setKeyValue(videoRateKey, &rate);
 
-    emitter.serializePreference(&preferencemap, "videoPreferences");
+    emitter.serializePreference(&preferencemap, "video");
 }
 
 void VideoPreference::unserialize(const Conf::MappingNode &map)
diff --git a/daemon/test/sflphoned-sample.yml b/daemon/test/sflphoned-sample.yml
index 3bac267c832a84b794e539dc90e7fa26c9550b35..d70b7ceb75882f82402c01a5f0aa70b914fb1f71 100644
--- a/daemon/test/sflphoned-sample.yml
+++ b/daemon/test/sflphoned-sample.yml
@@ -1,7 +1,7 @@
 ---
 accounts:
 - alias: SFL test
-  codecs: 0/3/8/9/110/111/112/
+  audioCodecs: 0/3/8/9/110/111/112/
   credential:
   - Account.password: 1234
     Account.realm:
@@ -44,12 +44,13 @@ accounts:
   type: SIP
   updateContact: false
   username: sfltest
+  videoCodecs:
   zrtp:
     displaySas: true
     displaySasOnce: false
     helloHashEnabled: true
     notSuppWarning: true
-- alias:
+- alias: IP2IP
   codecs: 0/
   credential:
   - password:
@@ -65,7 +66,6 @@ accounts:
   port: 5060
   publishAddr:
   publishPort: 5060
-  registrationExpire: true
   ringtoneEnabled: true
   ringtonePath: /usr/share/sflphone/ringtones/konga.ul
   sameasLocal: true
@@ -105,7 +105,6 @@ preferences:
   notifyMails: false
   order: Account:1328115463/Account:1328115393/Account:1328115062/Account:1316122317/Account:1316122284/Account:1316121900/Account:1316121889/Account:1316121691/Account:1316121662/Account:1316121661/Account:1316121654/Account:1316121611/Account:1316121607/Account:1316121605/Account:1316121602/Account:1312584532/Account:1312398082/Account:1312398066/Account:1309188361/Account:1309187807/Account:1309187723/Account:1309187670/Account:1309187609/Account:1309187081/Account:1308839853/Account:1308839662/Account:1308839447/Account:1308839359/Account:1308839335/Account:1308838875/Account:1308838713/Account:1308838236/Account:1307975440/Account:1307975347/Account:1307974800/Account:1307974672/Account:1307974527/Account:1303487773/Account:1303247743/Account:1302895321/Account:1302892836/Account:1302891834/Account:1302882519/Account:1302207377/Account:1302207262/Account:1302204136/Account:1302204108/Account:1294850905/Account:1294850775/Account:1294850618/Account:1294849651/Account:1294849602/Account:1294849310/Account:1288964768/Account:1288964603/Account:1288964434/Account:1288964141/Account:1288964134/
   portNum: 5060
-  registrationExpire: 180
   searchBarDisplay: true
   zeroConfenable: false
   zoneToneChoice: North America
@@ -150,6 +149,11 @@ audio:
   recordPath:
   volumeMic: 100
   volumeSpkr: 100
+video:
+  v4l2Channel:
+  v4l2Dev:
+  v4l2Rate:
+  v4l2Size:
 shortcuts:
   hangUp:
   pickUp: