diff --git a/src/deh_soc.c b/src/deh_soc.c
index 613bc5d10c7d4defeec1ef429cf1d3a52fa1f5c3..59f1e756f4402db9be2a6ac19ba2ccacf0cdb2ff 100644
--- a/src/deh_soc.c
+++ b/src/deh_soc.c
@@ -1466,10 +1466,10 @@ void readlevelheader(MYFILE *f, INT32 num)
 				{
 					mobjtype_t tmpflickies[MAXFLICKIES];
 
-					for (header->numFlickies = 0;
-					((header->numFlickies < MAXFLICKIES) && FLICKYTYPES[header->numFlickies].type);
-					header->numFlickies++)
-						tmpflickies[header->numFlickies] = FLICKYTYPES[header->numFlickies].type;
+					UINT8 n;
+					for (n = 0; n < MAXFLICKIES && FLICKYTYPES[n].type; n++)
+						tmpflickies[n] = FLICKYTYPES[n].type;
+					header->numFlickies = n;
 
 					if (header->numFlickies) // just in case...
 					{