diff --git a/src/r_plane.c b/src/r_plane.c
index 3745c28bec7e89b2d7042b2a1dca403d12f1a261..1dd487b48208160fd62aae119bdbb066c0d99c81 100644
--- a/src/r_plane.c
+++ b/src/r_plane.c
@@ -1008,8 +1008,6 @@ void R_DrawSinglePlane(visplane_t *pl)
 			R_CheckFlatLength(W_LumpLength(levelflat->u.flat.lumpnum));
 			// Raw flats always have dimensions that are powers-of-two numbers.
 			ds_powersoftwo = true;
-			if (spanfunc == spanfuncs[BASEDRAWFUNC])
-				spanfunc = spanfuncs[SPANDRAWFUNC_MMX];
 			break;
 		default:
 			switch (type)
@@ -1032,11 +1030,7 @@ void R_DrawSinglePlane(visplane_t *pl)
 			}
 			// Check if this texture or patch has power-of-two dimensions.
 			if (R_CheckPowersOfTwo())
-			{
 				R_CheckFlatLength(ds_flatwidth * ds_flatheight);
-				if (spanfunctype == BASEDRAWFUNC)
-					spanfunctype = SPANDRAWFUNC_MMX;
-			}
 	}
 
 	if (light >= LIGHTLEVELS)
diff --git a/src/screen.c b/src/screen.c
index 83421a1cc6a291e0f461394766b98f732b99d9dd..7a2e1a455db924caa7249ff8b5b3992e621e4831 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -124,7 +124,6 @@ void SCR_SetMode(void)
 		spanfuncs[SPANDRAWFUNC_SPLAT] = R_DrawSplat_8;
 		spanfuncs[SPANDRAWFUNC_TRANSSPLAT] = R_DrawTranslucentSplat_8;
 		spanfuncs[SPANDRAWFUNC_FOG] = R_DrawFogSpan_8;
-		spanfuncs[SPANDRAWFUNC_MMX] = spanfuncs[BASEDRAWFUNC];
 #ifndef NOWATER
 		spanfuncs[SPANDRAWFUNC_WATER] = R_DrawTranslucentWaterSpan_8;
 #endif
@@ -140,7 +139,6 @@ void SCR_SetMode(void)
 		spanfuncs_npo2[SPANDRAWFUNC_SPLAT] = R_DrawSplat_NPO2_8;
 		spanfuncs_npo2[SPANDRAWFUNC_TRANSSPLAT] = R_DrawTranslucentSplat_NPO2_8;
 		spanfuncs_npo2[SPANDRAWFUNC_FOG] = NULL; // Not needed
-		spanfuncs_npo2[SPANDRAWFUNC_MMX] = NULL; // Same
 #ifndef NOWATER
 		spanfuncs_npo2[SPANDRAWFUNC_WATER] = R_DrawTranslucentWaterSpan_NPO2_8;
 #endif
@@ -159,7 +157,7 @@ void SCR_SetMode(void)
 				//colfuncs[COLDRAWFUNC_SHADE] = R_DrawShadeColumn_8_ASM;
 				//colfuncs[COLDRAWFUNC_FUZZY] = R_DrawTranslucentColumn_8_ASM;
 				colfuncs[COLDRAWFUNC_TWOSMULTIPATCH] = R_Draw2sMultiPatchColumn_8_MMX;
-				spanfuncs[SPANDRAWFUNC_MMX] = R_DrawSpan_8_MMX;
+				spanfuncs[BASEDRAWFUNC] = R_DrawSpan_8_MMX;
 			}
 			else
 			{
diff --git a/src/screen.h b/src/screen.h
index 9a4d48dcfb4e07ec6f8301dfedfd996da86312e6..eb0042be652deb88b8e1d2ab9fa4473209a3bee3 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -133,7 +133,6 @@ extern void (*colfuncs[COLDRAWFUNC_MAX])(void);
 enum
 {
 	SPANDRAWFUNC_BASE = BASEDRAWFUNC,
-	SPANDRAWFUNC_MMX,
 	SPANDRAWFUNC_TRANS,
 	SPANDRAWFUNC_SPLAT,
 	SPANDRAWFUNC_TRANSSPLAT,