diff --git a/src/deh_lua.c b/src/deh_lua.c
index e6a436421cc14096bb1bc02689455a48df499dc1..e920154ccf9e548546274fd71f6eddbbb6ffc94e 100644
--- a/src/deh_lua.c
+++ b/src/deh_lua.c
@@ -264,6 +264,11 @@ static inline int lib_getenum(lua_State *L)
 				lua_pushinteger(L, ((lua_Integer)1<<i));
 				return 1;
 			}
+		if (fastcmp(p, "REVERSESUPER"))
+		{
+			lua_pushinteger(L, (lua_Integer)MFE_REVERSESUPER);
+			return 1;
+		}
 		if (mathlib) return luaL_error(L, "mobjeflag '%s' could not be found.\n", word);
 		return 0;
 	}
diff --git a/src/p_mobj.h b/src/p_mobj.h
index c4567c27d5c1eff72de8afb12e5f2ff6508dfdf5..d7da26a6956a1e79da095ff380b5d4d014b41ef8 100644
--- a/src/p_mobj.h
+++ b/src/p_mobj.h
@@ -249,6 +249,8 @@ typedef enum
 	MFE_FORCESUPER			= 1<<12,
 	// Forces an object to NOT use super sprites with SPR_PLAY.
 	MFE_FORCENOSUPER		= 1<<13,
+	// Makes an object use super sprites where they wouldn't have otherwise and vice-versa
+	MFE_REVERSESUPER		= MFE_FORCESUPER|MFE_FORCENOSUPER
 	
 	// free: to and including 1<<15
 } mobjeflag_t;