diff --git a/src/crypto.cpp b/src/crypto.cpp
index b46039aa4b5fbee8584b8aff2ebea295b1ea9123..4719b67022cdac6221afd836642127c1df28a3ea 100644
--- a/src/crypto.cpp
+++ b/src/crypto.cpp
@@ -724,7 +724,7 @@ generateIdentity(const std::string& name, crypto::Identity ca, unsigned key_leng
 
     // TODO: compute the subject key using the recommended RFC method
     auto pk_id = shared_key->getPublicKey().getId();
-    const std::string& uid_str = pk_id.toString();
+    const std::string uid_str = pk_id.toString();
 
     gnutls_x509_crt_set_subject_key_id(cert, &pk_id, sizeof(pk_id));
     gnutls_x509_crt_set_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0, name.data(), name.length());