diff --git a/src/r_main.c b/src/r_main.c
index 3c6aaf6a671c018c082a0a5adf7f27e9ba72dcda..4b044c6cc7b3b886eaf3f6d018d6beaaa59cbef6 100644
--- a/src/r_main.c
+++ b/src/r_main.c
@@ -128,9 +128,7 @@ consvar_t cv_chasecam2 = {"chasecam2", "On", CV_CALL, CV_OnOff, ChaseCam2_OnChan
 consvar_t cv_flipcam = {"flipcam", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam_OnChange, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_flipcam2 = {"flipcam2", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam2_OnChange, 0, NULL, NULL, 0, 0, NULL};
 
-#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
-consvar_t cv_shadow = {"shadow", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
-#endif //#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
+consvar_t cv_shadow = {"shadow", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
 #ifdef GLBADSHADOWS
 consvar_t cv_shadowoffs = {"offsetshadows", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
 #endif //#ifdef GLBADSHADOWS
@@ -1223,9 +1221,7 @@ void R_RegisterEngineStuff(void)
 
 	CV_RegisterVar(&cv_chasecam);
 	CV_RegisterVar(&cv_chasecam2);
-#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
 	CV_RegisterVar(&cv_shadow);
-#endif //#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
 #ifdef GLBADSHADOWS
 	CV_RegisterVar(&cv_shadowoffs);
 #endif //#ifdef GLBADSHADOWS
diff --git a/src/r_main.h b/src/r_main.h
index 998bb50efc863cddf5fb747bd79ea3b0455cdd22..0764c40d2252d03d75d3c03a1f7e3481cea43756 100644
--- a/src/r_main.h
+++ b/src/r_main.h
@@ -76,9 +76,7 @@ extern consvar_t cv_showhud, cv_translucenthud;
 extern consvar_t cv_homremoval;
 extern consvar_t cv_chasecam, cv_chasecam2;
 extern consvar_t cv_flipcam, cv_flipcam2;
-#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
 extern consvar_t cv_shadow;
-#endif
 #ifdef GLBADSHADOWS
 extern conscar_t cv_shadowoffs;
 #endif //#ifdef GLBADSHADOWS
diff --git a/src/r_things.c b/src/r_things.c
index 430542a20b1dbcb6b17079b275bd7de3f20110ec..680ae4d4fcd5e4cd26c54fb54509a7d1f1568d6f 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -1904,7 +1904,7 @@ static void R_ProjectSprite(mobj_t *thing)
 	if (thing->subsector->sector->numlights)
 		R_SplitSprite(vis);
 
-	if (oldthing->shadowscale)
+	if (oldthing->shadowscale && cv_shadow.value)
 		R_ProjectDropShadow(oldthing, vis, oldthing->shadowscale, basetx, tz);
 
 	// Debug