diff --git a/src/ngx_http_voms_module.cpp b/src/ngx_http_voms_module.cpp
index 2da800aeb37a805283098c5b13e23a96097cb747..6f657c164f98548f4afec9847b1c7d669fc35ec2 100644
--- a/src/ngx_http_voms_module.cpp
+++ b/src/ngx_http_voms_module.cpp
@@ -255,8 +255,8 @@ static MaybeVomsAc retrieve_voms_ac_from_proxy(ngx_http_request_t* r)
 
   auto ok = vd.Retrieve(client_cert.get(), client_chain, RECURSE_CHAIN);
   if (!ok) {
-    auto msg = vd.ErrorMessage().c_str();
-    ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "%s", msg);
+    auto msg = vd.ErrorMessage();
+    ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "%s", msg.c_str());
     return boost::none;
   }