diff --git a/src/SDFBlock.cpp b/src/SDFBlock.cpp
index 6e7b4530300d64254dd865d6ab8ce43b361a58da..0a438784a6da2d8fd9575959603e12f9b6ff42fc 100644
--- a/src/SDFBlock.cpp
+++ b/src/SDFBlock.cpp
@@ -170,7 +170,9 @@ void SDFBlockType::loadType(pugi::xml_node node, const pugi::xml_document& doc,
 		std::cout << "Add rblock index for " << rbNode.attribute("name").value();
 		std::cout << " level " << level << " phyindex " << indexOfNBlock[i] << " offset " << offset << std::endl;
 #endif
-		rblockFilename[i] = (char*) rbNode.attribute("name").value();
+        char* str = new char[256];
+        strcpy(str, rbNode.attribute("name").value());
+		rblockFilename[i] = str;
 
 		nblockmax += maxNumberOfBlock[i];
 	}