Fixed extension retrieval for OpenGL ES 3+.
diff --git a/README.md b/README.md
index 957265e..c7904c1 100644
--- a/README.md
+++ b/README.md
@@ -99,6 +99,8 @@
  - Bugfix: The particles example was not linked against the threading library
  - Bugfix: The cursor was not positioned over newly created full screen windows
  - Bugfix: The queried cursor position was not always up-to-date
+ - Bugfix: `glfwExtensionSupported` always failed for OpenGL ES 3.0 and later if
+           the library was compiled for OpenGL ES
  - [Cocoa] Added `_GLFW_USE_RETINA` to control whether windows will use the full
            resolution on Retina displays
  - [Cocoa] Made content view subclass of `NSOpenGLView`
diff --git a/src/context.c b/src/context.c
index 8f01846..99d7489 100644
--- a/src/context.c
+++ b/src/context.c
@@ -588,7 +588,6 @@
 
 GLFWAPI int glfwExtensionSupported(const char* extension)
 {
-    const GLubyte* extensions;
     _GLFWwindow* window;
 
     _GLFW_REQUIRE_INIT_OR_RETURN(GL_FALSE);
@@ -606,23 +605,8 @@
         return GL_FALSE;
     }
 
-    if (window->context.major < 3)
-    {
-        // Check if extension is in the old style OpenGL extensions string
-
-        extensions = glGetString(GL_EXTENSIONS);
-        if (!extensions)
-        {
-            _glfwInputError(GLFW_PLATFORM_ERROR,
-                            "Failed to retrieve extension string");
-            return GL_FALSE;
-        }
-
-        if (_glfwStringInExtensionString(extension, extensions))
-            return GL_TRUE;
-    }
 #if defined(_GLFW_USE_OPENGL)
-    else
+    if (window->context.major >= 3)
     {
         int i;
         GLint count;
@@ -645,7 +629,22 @@
                 return GL_TRUE;
         }
     }
+    else
 #endif // _GLFW_USE_OPENGL
+    {
+        // Check if extension is in the old style OpenGL extensions string
+
+        const GLubyte* extensions = glGetString(GL_EXTENSIONS);
+        if (!extensions)
+        {
+            _glfwInputError(GLFW_PLATFORM_ERROR,
+                            "Failed to retrieve extension string");
+            return GL_FALSE;
+        }
+
+        if (_glfwStringInExtensionString(extension, extensions))
+            return GL_TRUE;
+    }
 
     // Check if extension is in the platform-specific string
     return _glfwPlatformExtensionSupported(extension);