diff --git a/libIRDB/src/core/fileir.cpp b/libIRDB/src/core/fileir.cpp
index ce3ca6686b8b34c08a8e50afe527f438c54e7712..9b18589d328db61c6677a8c882b22f2e16c48421 100644
--- a/libIRDB/src/core/fileir.cpp
+++ b/libIRDB/src/core/fileir.cpp
@@ -264,7 +264,8 @@ std::map<db_id_t,Function_t*> FileIR_t::ReadFuncsFromDB
 		db_id_t function_type_id=atoi(dbintr->GetResultColumn("type_id").c_str());
 // postgresql encoding of boolean can be 'true', '1', 'T', 'y'
                 bool useFP=false;
-		const char *useFPstr= dbintr->GetResultColumn("use_frame_pointer").c_str();
+		string useFPString=dbintr->GetResultColumn("use_frame_pointer"); 
+		const char *useFPstr=useFPString.c_str();
                 if (strlen(useFPstr) > 0)
 		{
 			if (useFPstr[0] == 't' || useFPstr[0] == 'T' || useFPstr[0] == '1' || useFPstr[0] == 'y' || useFPstr[0] == 'Y')