Index: darkplaces/gl_rsurf.c
diff -u darkplaces/gl_rsurf.c:1.344 darkplaces/gl_rsurf.c:1.345
--- darkplaces/gl_rsurf.c:1.344	Thu Feb  8 22:22:34 2007
+++ darkplaces/gl_rsurf.c	Thu Feb  8 22:26:24 2007
@@ -774,12 +774,12 @@
 		info.pvs = NULL;
 	R_UpdateAllTextureInfo(ent);
 
-	if (r_shadow_compilingrtlight && r_shadow_realtime_world_compileportalculling.integer)
+	if (r_shadow_frontsidecasting.integer && r_shadow_compilingrtlight && r_shadow_realtime_world_compileportalculling.integer)
 	{
 		// use portal recursion for exact light volume culling, and exact surface checking
 		Portal_Visibility(info.model, info.relativelightorigin, info.outleaflist, info.outleafpvs, &info.outnumleafs, info.outsurfacelist, info.outsurfacepvs, &info.outnumsurfaces, NULL, 0, true, info.lightmins, info.lightmaxs, info.outmins, info.outmaxs);
 	}
-	else if (r_shadow_realtime_dlight_portalculling.integer)
+	else if (r_shadow_frontsidecasting.integer && r_shadow_realtime_dlight_portalculling.integer)
 	{
 		// use portal recursion for exact light volume culling, but not the expensive exact surface checking
 		Portal_Visibility(info.model, info.relativelightorigin, info.outleaflist, info.outleafpvs, &info.outnumleafs, info.outsurfacelist, info.outsurfacepvs, &info.outnumsurfaces, NULL, 0, r_shadow_realtime_dlight_portalculling.integer >= 2, info.lightmins, info.lightmaxs, info.outmins, info.outmaxs);