diff --git a/ZZ9000_proto.sdk/ZZ9000OS/src/gfx.h b/ZZ9000_proto.sdk/ZZ9000OS/src/gfx.h
index e11c3ab94ced2543f34026faf138156900a5df84..09366461df2dc15e5133b4584fcda6d56235eb7c 100644
--- a/ZZ9000_proto.sdk/ZZ9000OS/src/gfx.h
+++ b/ZZ9000_proto.sdk/ZZ9000OS/src/gfx.h
@@ -390,7 +390,7 @@ enum gfx_minterm_modes {
 			s &= d; \
 			SET_FG_PIXEL8_MASK(0); break; \
 		case MINTERM_NEOR: \
-			d ^= (s & mask); break; \
+			d ^= ~(s & mask); break; \
 		case MINTERM_DST: /* This one does nothing. */ \
 			return; break; \
 		case MINTERM_NOTONLYSRC: \
@@ -466,9 +466,9 @@ enum gfx_minterm_modes {
 		case MINTERM_NEOR: \
 			switch (color_format) { \
 				case MNTVA_COLOR_16BIT565: \
-					((uint16_t *)d)[x] ^= (s & color_mask); break; \
+					((uint16_t *)d)[x] ^= ~(s & color_mask); break; \
 				case MNTVA_COLOR_32BIT: \
-					d[x] ^= (s & color_mask); break; \
+					d[x] ^= ~(s & color_mask); break; \
 			} break; \
 		case MINTERM_DST: /* This one does nothing. */ \
 			return; break; \