diff --git a/src/p_enemy.c b/src/p_enemy.c
index 025a259735ceeb1708f0d14a5455754d804d917c..a8a6bb6b41ad7cc381d94ae2ae0792113432259a 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -7644,7 +7644,7 @@ void A_SetObjectFlags(mobj_t *actor)
 	else if (locvar2 == 1)
 		locvar1 = actor->flags & ~locvar1;
 
-	if ((locvar1 & (MF_NOBLOCKMAP|MF_NOSECTOR)) != (actor->flags & (MF_NOBLOCKMAP|MF_NOSECTOR))) // Blockmap/sector status has changed, so reset the links
+	if ((UINT32)(locvar1 & (MF_NOBLOCKMAP|MF_NOSECTOR)) != (actor->flags & (MF_NOBLOCKMAP|MF_NOSECTOR))) // Blockmap/sector status has changed, so reset the links
 		unlinkthings = true;
 
 	if (unlinkthings) {