diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c
index 0f9195a753f298c46602c1eb60ce7eef5ab41910..096d24f528fdc4e1246a48e5a61ff790f3ab7c57 100644
--- a/src/hardware/hw_md2.c
+++ b/src/hardware/hw_md2.c
@@ -1611,7 +1611,7 @@ boolean HWR_DrawModel(gl_vissprite_t *spr)
 		}
 
 		{
-			fixed_t anglef = AngleFixed(R_SpriteRotationAngle(&interp));
+			fixed_t anglef = AngleFixed(R_ModelRotationAngle(&interp));
 
 			p.rollangle = 0.0f;
 
diff --git a/src/r_patch.h b/src/r_patch.h
index 27f7bddb6ffbd842249a871ef99ebcf43166452d..a0ab3e75ac0c81a7fa16b6129cd2deabb8d02d46 100644
--- a/src/r_patch.h
+++ b/src/r_patch.h
@@ -39,6 +39,7 @@ patch_t *Patch_GetRotatedSprite(
 	size_t frame, size_t spriteangle,
 	boolean flip, boolean adjustfeet,
 	void *info, INT32 rotationangle);
+angle_t R_ModelRotationAngle(interpmobjstate_t *interp);
 angle_t R_SpriteRotationAngle(interpmobjstate_t *interp);
 INT32 R_GetRollAngle(angle_t rollangle);
 #endif
diff --git a/src/r_patchrotation.c b/src/r_patchrotation.c
index f9c4ec797d843311aa0c0b04ef5d4a8c29d0163a..a17b725d610df8719dbc329ff1e73819d509c16a 100644
--- a/src/r_patchrotation.c
+++ b/src/r_patchrotation.c
@@ -19,11 +19,11 @@
 fixed_t rollcosang[ROTANGLES];
 fixed_t rollsinang[ROTANGLES];
 
-//
-// R_SpriteRotationAngle
-//
-// Gets the rollangle for the input object.
-//
+angle_t R_ModelRotationAngle(interpmobjstate_t *interp)
+{
+	return interp->spriteroll;
+}
+
 angle_t R_SpriteRotationAngle(interpmobjstate_t *interp)
 {
 	angle_t viewingAngle = R_PointToAngle(interp->x, interp->y);
@@ -33,7 +33,7 @@ angle_t R_SpriteRotationAngle(interpmobjstate_t *interp)
 
 	angle_t rollOrPitch = FixedMul(interp->pitch, pitchMul) + FixedMul(interp->roll, rollMul);
 
-	return (rollOrPitch + interp->spriteroll);
+	return (rollOrPitch + R_ModelRotationAngle(interp));
 }
 
 INT32 R_GetRollAngle(angle_t rollangle)