diff --git a/system/GLESv2_enc/GL2Encoder.cpp b/system/GLESv2_enc/GL2Encoder.cpp
index 5c61d3f..14c5ac1 100755
--- a/system/GLESv2_enc/GL2Encoder.cpp
+++ b/system/GLESv2_enc/GL2Encoder.cpp
@@ -2304,10 +2304,10 @@
         case GL_RG32F:
         case GL_RGBA32F:
         case GL_R11F_G11F_B10F:
-            res = hasExtension("GL_EXT_color_buffer_float");
+            res = majorVersion() >= 3 && hasExtension("GL_EXT_color_buffer_float");
             break;
         case GL_RGB16F:
-            res = hasExtension("GL_EXT_color_buffer_half_float");
+            res = majorVersion() >= 3 && hasExtension("GL_EXT_color_buffer_half_float");
             break;
         case GL_STENCIL_INDEX8:
             if (attachment == GL_STENCIL_ATTACHMENT) {
@@ -2329,10 +2329,10 @@
         case GL_RG32F:
         case GL_RGBA32F:
         case GL_R11F_G11F_B10F:
-            res = hasExtension("GL_EXT_color_buffer_float");
+            res = majorVersion() >= 3 && hasExtension("GL_EXT_color_buffer_float");
             break;
         case GL_RGB16F:
-            res = hasExtension("GL_EXT_color_buffer_half_float");
+            res = majorVersion() >= 3 && hasExtension("GL_EXT_color_buffer_half_float");
             break;
         case GL_RED:
         case GL_RG:
diff --git a/system/GLESv2_enc/GLESv2Validation.cpp b/system/GLESv2_enc/GLESv2Validation.cpp
index 5b9724c..c703325 100644
--- a/system/GLESv2_enc/GLESv2Validation.cpp
+++ b/system/GLESv2_enc/GLESv2Validation.cpp
@@ -159,9 +159,9 @@
     case GL_RG32F:
     case GL_RGBA32F:
     case GL_R11F_G11F_B10F:
-        return glesMajorVersion < 3 || ctx->hasExtension("GL_EXT_color_buffer_float");
+        return glesMajorVersion >= 3 && ctx->hasExtension("GL_EXT_color_buffer_float");
     case GL_RGB16F:
-        return glesMajorVersion < 3 || ctx->hasExtension("GL_EXT_color_buffer_half_float");
+        return glesMajorVersion >= 3 && ctx->hasExtension("GL_EXT_color_buffer_half_float");
         // dEQP expects GL_FRAMEBUFFER_UNSUPPORTED or GL_FRAMEBUFFER_COMPLETE
         // for this format
         // These formats are OK
@@ -539,6 +539,7 @@
 
 
 bool colorRenderableFormat(GL2Encoder* ctx, GLenum internalformat) {
+    int glesMajorVersion = ctx->majorVersion();
     switch (internalformat) {
     case GL_R8:
     case GL_RG8:
@@ -576,10 +577,10 @@
     case GL_RG32F:
     case GL_RGBA32F:
     case GL_R11F_G11F_B10F:
-        return ctx->hasExtension("GL_EXT_color_buffer_float");
+        return glesMajorVersion >= 3 && ctx->hasExtension("GL_EXT_color_buffer_float");
         break;
     case GL_RGB16F:
-        return ctx->hasExtension("GL_EXT_color_buffer_half_float");
+        return glesMajorVersion >= 3 && ctx->hasExtension("GL_EXT_color_buffer_half_float");
         break;
     }
     return false;
