diff --git a/src/p_enemy.c b/src/p_enemy.c
index 2ae7276dfcca0518f74712964f6b1c1cd7265a8f..59ca954093f80b2242b0cec40be6ea60776d1e92 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -14395,7 +14395,7 @@ void A_LavafallLava(mobj_t *actor)
 	if (LUA_CallAction(A_LAVAFALLLAVA, actor))
 		return;
 
-	if ((40 - actor->fuse) % (2*(actor->scale >> FRACBITS)))
+	if ((40 - actor->fuse) % max(2*(actor->scale >> FRACBITS), 1)) // avoid crashes if actor->scale < FRACUNIT
 		return;
 
 	// Don't spawn lava unless a player is nearby.