Call _glapi_set_context(NULL) in _glapi_check_multithread() to make sure the _glapi_Context global gets cleared properly.
diff --git a/src/mesa/glapi/glapi.c b/src/mesa/glapi/glapi.c
index 348f12b..5815dbf 100644
--- a/src/mesa/glapi/glapi.c
+++ b/src/mesa/glapi/glapi.c
@@ -240,6 +240,7 @@
       else if (knownID != _glthread_GetID()) {
          ThreadSafe = GL_TRUE;
          _glapi_set_dispatch(NULL);
+         _glapi_set_context(NULL);
       }
    }
    else if (!_glapi_get_dispatch()) {