diff --git a/src/gui/server/request.h b/src/gui/server/request.h
index 6e62afbefe10e7cda14e08996f737bb634fa014f..cf4d0c209cc9fafaac8d8b38f884b8ec235eb9dd 100644
--- a/src/gui/server/request.h
+++ b/src/gui/server/request.h
@@ -65,7 +65,7 @@ public:
     bool argsAreValid = false;
     // Args are: account callid destination
     //           acc1000 c10345 sip:test@test.com
-    if (iter != _argList.end() && iter->find("acc")==0) {
+    if (iter != _argList.end() && iter->length()!=0) {
       _account = *iter;
       _argList.pop_front();
       iter = _argList.begin();
diff --git a/src/gui/server/requestfactory.cpp b/src/gui/server/requestfactory.cpp
index 56c444001235917028a5c821bdcaa6d8d7dcb75c..4225bb82bf5322339ab46e41f38ea4547eb5cd87 100644
--- a/src/gui/server/requestfactory.cpp
+++ b/src/gui/server/requestfactory.cpp
@@ -46,6 +46,7 @@ RequestFactory::create(const std::string& requestLine)
       } catch (...) {
         // if the create return an exception
         // we create a syntaxerror
+        return create("syntaxerror", sequenceId, tList);
       }
     }
   }