diff --git a/src/OpenGL/libEGL/Config.cpp b/src/OpenGL/libEGL/Config.cpp
index f35a207..81eb1c1 100644
--- a/src/OpenGL/libEGL/Config.cpp
+++ b/src/OpenGL/libEGL/Config.cpp
@@ -307,58 +307,56 @@
 
         while(attribute[0] != EGL_NONE)
         {
-			if(attribute[1] == EGL_DONT_CARE)
+			if(attribute[1] != EGL_DONT_CARE)
 			{
-				continue;
+				switch(attribute[0])
+				{
+				case EGL_BUFFER_SIZE:                match = config->mBufferSize >= attribute[1];                      break;
+				case EGL_ALPHA_SIZE:                 match = config->mAlphaSize >= attribute[1];                       break;
+				case EGL_BLUE_SIZE:                  match = config->mBlueSize >= attribute[1];                        break;
+				case EGL_GREEN_SIZE:                 match = config->mGreenSize >= attribute[1];                       break;
+				case EGL_RED_SIZE:                   match = config->mRedSize >= attribute[1];                         break;
+				case EGL_DEPTH_SIZE:                 match = config->mDepthSize >= attribute[1];                       break;
+				case EGL_STENCIL_SIZE:               match = config->mStencilSize >= attribute[1];                     break;
+				case EGL_CONFIG_CAVEAT:              match = config->mConfigCaveat == attribute[1];                    break;
+				case EGL_CONFIG_ID:                  match = config->mConfigID == attribute[1];                        break;
+				case EGL_LEVEL:                      match = config->mLevel >= attribute[1];                           break;
+				case EGL_NATIVE_RENDERABLE:          match = config->mNativeRenderable == attribute[1];                break;
+				case EGL_NATIVE_VISUAL_ID:           match = config->mNativeVisualID == attribute[1];                  break;
+				case EGL_NATIVE_VISUAL_TYPE:         match = config->mNativeVisualType == attribute[1];                break;
+				case EGL_SAMPLES:                    match = config->mSamples >= attribute[1];                         break;
+				case EGL_SAMPLE_BUFFERS:             match = config->mSampleBuffers >= attribute[1];                   break;
+				case EGL_SURFACE_TYPE:               match = (config->mSurfaceType & attribute[1]) == attribute[1];    break;
+				case EGL_TRANSPARENT_TYPE:           match = config->mTransparentType == attribute[1];                 break;
+				case EGL_TRANSPARENT_BLUE_VALUE:     match = config->mTransparentBlueValue == attribute[1];            break;
+				case EGL_TRANSPARENT_GREEN_VALUE:    match = config->mTransparentGreenValue == attribute[1];           break;
+				case EGL_TRANSPARENT_RED_VALUE:      match = config->mTransparentRedValue == attribute[1];             break;
+				case EGL_BIND_TO_TEXTURE_RGB:        match = config->mBindToTextureRGB == attribute[1];                break;
+				case EGL_BIND_TO_TEXTURE_RGBA:       match = config->mBindToTextureRGBA == attribute[1];               break;
+				case EGL_MIN_SWAP_INTERVAL:          match = config->mMinSwapInterval == attribute[1];                 break;
+				case EGL_MAX_SWAP_INTERVAL:          match = config->mMaxSwapInterval == attribute[1];                 break;
+				case EGL_LUMINANCE_SIZE:             match = config->mLuminanceSize >= attribute[1];                   break;
+				case EGL_ALPHA_MASK_SIZE:            match = config->mAlphaMaskSize >= attribute[1];                   break;
+				case EGL_COLOR_BUFFER_TYPE:          match = config->mColorBufferType == attribute[1];                 break;
+				case EGL_RENDERABLE_TYPE:            match = (config->mRenderableType & attribute[1]) == attribute[1]; break;
+				case EGL_MATCH_NATIVE_PIXMAP:        match = false; UNIMPLEMENTED();                                   break;
+				case EGL_CONFORMANT:                 match = (config->mConformant & attribute[1]) == attribute[1];     break;
+				case EGL_MAX_PBUFFER_WIDTH:          match = config->mMaxPBufferWidth >= attribute[1];                 break;
+				case EGL_MAX_PBUFFER_HEIGHT:         match = config->mMaxPBufferHeight >= attribute[1];                break;
+				case EGL_MAX_PBUFFER_PIXELS:         match = config->mMaxPBufferPixels >= attribute[1];                break;
+				case EGL_RECORDABLE_ANDROID:         match = true; /* UNIMPLEMENTED(); EGL_ANDROID_recordable */       break;
+				case EGL_FRAMEBUFFER_TARGET_ANDROID: match = true; /* UNIMPLEMENTED(); EGL_ANDROID_framebuffer_target */ break;
+				default:
+					UNIMPLEMENTED();
+					match = false;
+				}
+
+				if(!match)
+				{
+					break;
+				}
 			}
 
-            switch(attribute[0])
-            {
-            case EGL_BUFFER_SIZE:                match = config->mBufferSize >= attribute[1];                      break;
-            case EGL_ALPHA_SIZE:                 match = config->mAlphaSize >= attribute[1];                       break;
-            case EGL_BLUE_SIZE:                  match = config->mBlueSize >= attribute[1];                        break;
-            case EGL_GREEN_SIZE:                 match = config->mGreenSize >= attribute[1];                       break;
-            case EGL_RED_SIZE:                   match = config->mRedSize >= attribute[1];                         break;
-            case EGL_DEPTH_SIZE:                 match = config->mDepthSize >= attribute[1];                       break;
-            case EGL_STENCIL_SIZE:               match = config->mStencilSize >= attribute[1];                     break;
-            case EGL_CONFIG_CAVEAT:              match = config->mConfigCaveat == attribute[1];                    break;
-            case EGL_CONFIG_ID:                  match = config->mConfigID == attribute[1];                        break;
-            case EGL_LEVEL:                      match = config->mLevel >= attribute[1];                           break;
-            case EGL_NATIVE_RENDERABLE:          match = config->mNativeRenderable == attribute[1];                break;
-            case EGL_NATIVE_VISUAL_ID:           match = config->mNativeVisualID == attribute[1];                  break;
-            case EGL_NATIVE_VISUAL_TYPE:         match = config->mNativeVisualType == attribute[1];                break;
-            case EGL_SAMPLES:                    match = config->mSamples >= attribute[1];                         break;
-            case EGL_SAMPLE_BUFFERS:             match = config->mSampleBuffers >= attribute[1];                   break;
-            case EGL_SURFACE_TYPE:               match = (config->mSurfaceType & attribute[1]) == attribute[1];    break;
-            case EGL_TRANSPARENT_TYPE:           match = config->mTransparentType == attribute[1];                 break;
-            case EGL_TRANSPARENT_BLUE_VALUE:     match = config->mTransparentBlueValue == attribute[1];            break;
-            case EGL_TRANSPARENT_GREEN_VALUE:    match = config->mTransparentGreenValue == attribute[1];           break;
-            case EGL_TRANSPARENT_RED_VALUE:      match = config->mTransparentRedValue == attribute[1];             break;
-            case EGL_BIND_TO_TEXTURE_RGB:        match = config->mBindToTextureRGB == attribute[1];                break;
-            case EGL_BIND_TO_TEXTURE_RGBA:       match = config->mBindToTextureRGBA == attribute[1];               break;
-            case EGL_MIN_SWAP_INTERVAL:          match = config->mMinSwapInterval == attribute[1];                 break;
-            case EGL_MAX_SWAP_INTERVAL:          match = config->mMaxSwapInterval == attribute[1];                 break;
-            case EGL_LUMINANCE_SIZE:             match = config->mLuminanceSize >= attribute[1];                   break;
-            case EGL_ALPHA_MASK_SIZE:            match = config->mAlphaMaskSize >= attribute[1];                   break;
-            case EGL_COLOR_BUFFER_TYPE:          match = config->mColorBufferType == attribute[1];                 break;
-            case EGL_RENDERABLE_TYPE:            match = (config->mRenderableType & attribute[1]) == attribute[1]; break;
-            case EGL_MATCH_NATIVE_PIXMAP:        match = false; UNIMPLEMENTED();                                   break;
-            case EGL_CONFORMANT:                 match = (config->mConformant & attribute[1]) == attribute[1];     break;
-            case EGL_MAX_PBUFFER_WIDTH:          match = config->mMaxPBufferWidth >= attribute[1];                 break;
-            case EGL_MAX_PBUFFER_HEIGHT:         match = config->mMaxPBufferHeight >= attribute[1];                break;
-            case EGL_MAX_PBUFFER_PIXELS:         match = config->mMaxPBufferPixels >= attribute[1];                break;
-            case EGL_RECORDABLE_ANDROID:         match = true; /* UNIMPLEMENTED(); EGL_ANDROID_recordable */       break;
-            case EGL_FRAMEBUFFER_TARGET_ANDROID: match = true; /* UNIMPLEMENTED(); EGL_ANDROID_framebuffer_target */ break;
-			default:
-				UNIMPLEMENTED();
-				match = false;
-            }
-
-            if(!match)
-            {
-                break;
-            }
-
             attribute += 2;
         }
 
