diff --git a/src/sip/sip_utils.cpp b/src/sip/sip_utils.cpp
index 16029b907ccaf77d748051f980e2ab8040733a72..509b6b7ea9a3e2abb0da81dd044e579510a9c9df 100644
--- a/src/sip/sip_utils.cpp
+++ b/src/sip/sip_utils.cpp
@@ -231,8 +231,8 @@ std::string
 sip_strerror(pj_status_t code)
 {
     char err_msg[PJ_ERR_MSG_SIZE];
-    pj_strerror(code, err_msg, sizeof err_msg);
-    return std::string {err_msg};
+    auto ret = pj_strerror(code, err_msg, sizeof err_msg);
+    return std::string {ret.ptr, ret.ptr+ret.slen};
 }
 
 void