diff --git a/Effects/urban.eff b/Effects/urban.eff
index d90c5adab..ef355b43b 100644
--- a/Effects/urban.eff
+++ b/Effects/urban.eff
@@ -48,18 +48,24 @@
 					<value type="float">4.0</value>
 					<float-property>/sim/rendering/shaders/urban</float-property>
 				</less-equal>
-				<or>
-					<less-equal>
-						<value type="float">2.0</value>
-						<glversion/>
-					</less-equal>
-					<and>
-						<extension-supported>GL_ARB_shader_objects</extension-supported>
-						<extension-supported>GL_ARB_shading_language_100</extension-supported>
-						<extension-supported>GL_ARB_vertex_shader</extension-supported>
-						<extension-supported>GL_ARB_fragment_shader</extension-supported>
-					</and>
-				</or>
+				<and>
+					<or>
+						<less-equal>
+							<value type="float">2.0</value>
+							<glversion/>
+						</less-equal>
+						<and>
+							<extension-supported>GL_ARB_shader_objects</extension-supported>
+							<extension-supported>GL_ARB_shading_language_100</extension-supported>
+							<extension-supported>GL_ARB_vertex_shader</extension-supported>
+							<extension-supported>GL_ARB_fragment_shader</extension-supported>
+						</and>
+					</or>
+					<or>
+						<extension-supported>GL_ATI_shader_texture_lod</extension-supported>
+						<extension-supported>GL_ARB_shader_texture_lod</extension-supported>
+					</or>
+				</and>
 			</and>
 		</predicate>
 		<pass>
@@ -289,18 +295,24 @@
 					<value type="float">2.0</value>
 					<float-property>/sim/rendering/shaders/quality-level</float-property>
 				</less-equal>
-				<or>
-					<less-equal>
-						<value type="float">2.0</value>
-						<glversion/>
-					</less-equal>
-					<and>
-						<extension-supported>GL_ARB_shader_objects</extension-supported>
-						<extension-supported>GL_ARB_shading_language_100</extension-supported>
-						<extension-supported>GL_ARB_vertex_shader</extension-supported>
-						<extension-supported>GL_ARB_fragment_shader</extension-supported>
-					</and>
-				</or>
+				<and>
+					<or>
+						<less-equal>
+							<value type="float">2.0</value>
+							<glversion/>
+						</less-equal>
+						<and>
+							<extension-supported>GL_ARB_shader_objects</extension-supported>
+							<extension-supported>GL_ARB_shading_language_100</extension-supported>
+							<extension-supported>GL_ARB_vertex_shader</extension-supported>
+							<extension-supported>GL_ARB_fragment_shader</extension-supported>
+						</and>
+					</or>
+					<or>
+						<extension-supported>GL_ATI_shader_texture_lod</extension-supported>
+						<extension-supported>GL_ARB_shader_texture_lod</extension-supported>
+					</or>
+				</and>
 			</and>
 		</predicate>
 		<pass>
diff --git a/Shaders/urban.frag b/Shaders/urban.frag
index 9902104df..b82d4a19a 100644
--- a/Shaders/urban.frag
+++ b/Shaders/urban.frag
@@ -7,6 +7,7 @@
 #version 120
 
 #extension GL_ATI_shader_texture_lod : enable
+#extension GL_ARB_shader_texture_lod : enable
 
 #define TEXTURE_MIP_LEVELS 10
 #define TEXTURE_PIX_COUNT  1024 //pow(2,TEXTURE_MIP_LEVELS)