SDL Create Context not throwing an error when it should

Hello,
I am building an SDL OpenGL 3.3 program in VS2013 on Windows 7, which displays just a test triangle.

If I run the program on another windows 7 machine that I know for a fact doesn’t support OpenGL 3.3, my program catches the problem and cleanly quits as it should. But I am surprised that I am not getting an error on SDL_GL_CreateContext: It returns a not NULL. But SDL_GetError() does return the string “GL 3.x is not supported”.

I’m running the partial code snippet below on a Windows 7 machine WITHOUT OpenGL 3.3 capability…

#include 'SDL.h'

#include ‘SDL_opengl.h’

SDL_Window* gameWindow = NULL;
SDL_GLContext context = NULL;

// The five lines below do have error checking in the original code
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER | SDL_INIT_GAMECONTROLLER);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);

gameWindow = SDL_CreateWindow(“OpenGL”, 100, 100, 800, 600, SDL_WINDOW_OPENGL);

if (gameWindow == NULL) SDL_Quit(); return;

context = SDL_GL_CreateContext(gameWindow);
if(context == NULL) {
SDL_DestroyWindow(gameWindow);
SDL_Quit();
return;
}

SDL_GetError();

// SDL_GL_CreateContext does NOT return NULL yet SDL_GetError() returns"GL 3.x is not supported"

// glGetIntegerv(GL_MAJOR_VERSION) and glGetIntegerv(GL_MINOR_VERSION) is then used to check the context’s OpenGL Major and Minor versions. If they are not the same as the requested versions we quit.

Edit: Added in some more code for clarification