Index: agi.h
===================================================================
--- agi.h	(revision 26573)
+++ agi.h	(working copy)
@@ -111,7 +111,8 @@
 	GF_MACGOLDRUSH = (1 << 5),
 	GF_FANMADE =     (1 << 6),
 	GF_ESC_MENU =    (1 << 7),
-	GF_MANHUNTER =   (1 << 8)
+	GF_MANHUNTER =   (1 << 8),
+	GF_SQ1 =         (1 << 9)
 };
 
 struct AGIGameDescription;
Index: detection.cpp
===================================================================
--- detection.cpp	(revision 26573)
+++ detection.cpp	(working copy)
@@ -1236,7 +1236,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2440,
 	},
 
@@ -1252,7 +1252,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2272,
 	},
 
@@ -1268,7 +1268,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2440,
 	},
 
@@ -1284,7 +1284,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2440,
 	},
 
@@ -1300,7 +1300,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2917,
 	},
 
@@ -1316,7 +1316,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2089,
 	},
 
@@ -1332,7 +1332,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2272,
 	},
 
@@ -1348,7 +1348,7 @@
 			Common::ADGF_NO_FLAGS
 		},
 		GType_V2,
-		0,
+		GF_SQ1,
 		0x2440,
 	},
 
Index: sprite.cpp
===================================================================
--- sprite.cpp	(revision 26573)
+++ sprite.cpp	(working copy)
@@ -618,11 +618,13 @@
 		/* add rectangle around object, don't clobber control
 		 * info in priority data. The box extends to the end of
 		 * its priority band!
-		 *
-		 * SQ1 needs +1 (see bug #810331)
 		 */
-		y3 = (y2 / 12) * 12 + 1;
+		y3 = (y2 / 12) * 12;
 
+		// SQ1 needs +1 (see bug #810331)
+		if (_vm->getFeatures() & GF_SQ1)
+			y3++;
+
 		// don't let box extend below y.
 		if (y3 > y2) y3 = y2;
 
