diff --git a/src/itemstackmetadata.cpp b/src/itemstackmetadata.cpp
index c3d602245..65829fd68 100644
--- a/src/itemstackmetadata.cpp
+++ b/src/itemstackmetadata.cpp
@@ -28,16 +28,18 @@ void ItemStackMetadata::deSerialize(std::istream &is)
 
 	m_stringvars.clear();
 
-	if (!in.empty() && in[0] == DESERIALIZE_START) {
-		Strfnd fnd(in);
-		fnd.to(1);
-		while (!fnd.at_end()) {
-			std::string name = fnd.next(DESERIALIZE_KV_DELIM_STR);
-			std::string var  = fnd.next(DESERIALIZE_PAIR_DELIM_STR);
-			m_stringvars[name] = var;
+	if (!in.empty()) {
+		if (in[0] == DESERIALIZE_START) {
+			Strfnd fnd(in);
+			fnd.to(1);
+			while (!fnd.at_end()) {
+				std::string name = fnd.next(DESERIALIZE_KV_DELIM_STR);
+				std::string var  = fnd.next(DESERIALIZE_PAIR_DELIM_STR);
+				m_stringvars[name] = var;
+			}
+		} else {
+			// BACKWARDS COMPATIBILITY
+			m_stringvars[""] = in;
 		}
-	} else {
-		// BACKWARDS COMPATIBILITY
-		m_stringvars[""] = in;
 	}
 }