diff --git a/daemon/src/account.cpp b/daemon/src/account.cpp
index af507a52e652e4e5440f259fc5e6f95c39d3f46e..6c859f213e6c7e1f9a6368f9efec35a28e7da2ca 100644
--- a/daemon/src/account.cpp
+++ b/daemon/src/account.cpp
@@ -34,6 +34,8 @@
 #endif
 #include "account.h"
 #include <algorithm>
+#include <iterator>
+
 #ifdef SFL_VIDEO
 #include "video/libav_utils.h"
 #endif
@@ -195,6 +197,21 @@ void Account::setVideoCodecs(const vector<map<string, string> > &list)
 #endif
 }
 
+namespace {
+
+// Convert a list of payloads in a special format, readable by the server.
+// Required format: payloads separated by slashes.
+// @return std::string The serializable string
+
+std::string join_string(const std::vector<std::string> &v)
+{
+    std::ostringstream os;
+    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(os, "/"));
+    return os.str();
+}
+}
+
+
 void Account::setActiveAudioCodecs(const vector<string> &list)
 {
     // first clear the previously stored codecs
@@ -208,7 +225,7 @@ void Account::setActiveAudioCodecs(const vector<string> &list)
     }
 
     // update the codec string according to new codec selection
-    audioCodecStr_ = ManagerImpl::join_string(list);
+    audioCodecStr_ = join_string(list);
 }
 
 string Account::mapStateNumberToString(RegistrationState state)
diff --git a/daemon/src/managerimpl.cpp b/daemon/src/managerimpl.cpp
index ec446e356cff25a8f520338c5fcb24c590f24a3c..8d950e03e0c729c6e57cdba9f92dca26e3df1ac0 100644
--- a/daemon/src/managerimpl.cpp
+++ b/daemon/src/managerimpl.cpp
@@ -1912,13 +1912,6 @@ std::vector<std::string> ManagerImpl::split_string(std::string s)
     return list;
 }
 
-std::string ManagerImpl::join_string(const std::vector<std::string> &v)
-{
-    std::ostringstream os;
-    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(os, "/"));
-    return os.str();
-}
-
 std::string ManagerImpl::getCurrentAudioCodecName(const std::string& id)
 {
     std::string accountid = getAccountFromCall(id);
diff --git a/daemon/src/managerimpl.h b/daemon/src/managerimpl.h
index b65468ffa8a7ba7be5fc2247b6b51ddd067a14d8..4cb02aacbf7cbb45f2a7177961131b6e02bea7af 100644
--- a/daemon/src/managerimpl.h
+++ b/daemon/src/managerimpl.h
@@ -577,13 +577,6 @@ class ManagerImpl {
          */
         void setEchoCancelState(const std::string &state);
 
-        /**
-         * Convert a list of payload in a special format, readable by the server.
-         * Required format: payloads separated with one slash.
-         * @return std::string The serializabled string
-         */
-        static std::string join_string(const std::vector<std::string> &v);
-
         static std::vector<std::string> split_string(std::string v);
 
         /**