diff --git a/src/p_setup.c b/src/p_setup.c
index f9ca4dcf05d6d30996dc0c157a45ff6aac743534..78792f306e5fa82dda5c3bfb8d22f68808f3a75f 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -1462,33 +1462,35 @@ static void TextmapThing(UINT32 i, char *param)
   */
 static void TextmapParse(UINT32 dataPos, size_t num, void (*parser)(UINT32, char *))
 {
-	char *open;
+	char *tkn;
 
 	M_SetTokenPos(dataPos);
-	open = M_GetToken(NULL);
-	if (fastcmp(open, "{"))
+	tkn = M_GetToken(NULL);
+	if (!fastcmp(tkn, "{"))
 	{
-		char *tkn = M_GetToken(NULL);
-		while (!fastcmp(tkn, "}"))
-		{
-			dat = NULL;
-			parser(num, tkn);
-			if (dat)
-				Z_Free(dat);
+		Z_Free(tkn);
+		CONS_Alert(CONS_WARNING, "Invalid UDMF data capsule!\n");
+		return;
+	}
+
+	Z_Free(tkn);
+	tkn = M_GetToken(NULL);
+	while (!fastcmp(tkn, "}"))
+	{
+		dat = NULL;
+		parser(num, tkn);
+		if (dat)
+			Z_Free(dat);
 
-			Z_Free(tkn);
-			tkn = M_GetToken(NULL);
-		}
 		Z_Free(tkn);
+		tkn = M_GetToken(NULL);
 	}
-	else
-		CONS_Alert(CONS_WARNING, "Invalid UDMF data capsule!\n");
-	Z_Free(open);
+	Z_Free(tkn);
 }
 
 /** Provides a fix to the flat alignment coordinate transform from standard Textmaps.
  */
-static void TextmapFixFlatOffsets (sector_t* sec)
+static void TextmapFixFlatOffsets(sector_t *sec)
 {
 	if (sec->floorpic_angle)
 	{
@@ -1517,7 +1519,7 @@ static void TextmapFixFlatOffsets (sector_t* sec)
 
 /** Loads the textmap data, after obtaining the elements count and allocating their respective space.
   */
-static void P_LoadTextmap (void)
+static void P_LoadTextmap(void)
 {
 	UINT32 i;