diff --git a/Source/Core/IO/DoomPictureReader.cs b/Source/Core/IO/DoomPictureReader.cs
index 18cb4b32d65a709b5153c5b3b7596ce94cf487d5..689a4dd1f402ef5e2e15f1ba7bb1dc43b5cbf628 100644
--- a/Source/Core/IO/DoomPictureReader.cs
+++ b/Source/Core/IO/DoomPictureReader.cs
@@ -252,7 +252,7 @@ namespace CodeImp.DoomBuilder.IO
 
 					// Read next post start
 					read_y = reader.ReadByte();
-					if(read_y < y) y += read_y; else y = read_y;
+					if(read_y < y || (height > 255 && read_y == y)) y += read_y; else y = read_y; //mxd. Fix for tall patches higher than 508 pixels
 				}
 			}