diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm
index 051b29940467c90aa8870a79fc0c86133b4a4293..a18510a9e274a0e599ef0f672351a7578a46f58c 100644
--- a/src/platformsupport/cglconvenience/cglconvenience.mm
+++ b/src/platformsupport/cglconvenience/cglconvenience.mm
@@ -42,19 +42,7 @@
 #include <QtCore/private/qcore_mac_p.h>
 #include <AppKit/AppKit.h>
 #include <QVector>
-
-QFunctionPointer qcgl_getProcAddress(const char *procName)
-{
-    CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
-            CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, false);
-    CFBundleRef bundle = CFBundleCreate(kCFAllocatorDefault, url);
-    CFStringRef procNameCF = QCFString::toCFStringRef(QString::fromLatin1(procName));
-    void *proc = CFBundleGetFunctionPointerForName(bundle, procNameCF);
-    CFRelease(url);
-    CFRelease(bundle);
-    CFRelease(procNameCF);
-    return (QFunctionPointer)proc;
-}
+#include <qdebug.h>
 
 // Match up with createNSOpenGLPixelFormat below!
 QSurfaceFormat qcgl_surfaceFormat()
diff --git a/src/platformsupport/cglconvenience/cglconvenience_p.h b/src/platformsupport/cglconvenience/cglconvenience_p.h
index adc187991655400183970de5adb4489506700203..e531e73549d2eb641523229b37ffaf05105bbba1 100644
--- a/src/platformsupport/cglconvenience/cglconvenience_p.h
+++ b/src/platformsupport/cglconvenience/cglconvenience_p.h
@@ -55,7 +55,6 @@
 #include <QString>
 #include <OpenGL/OpenGL.h>
 
-QFunctionPointer qcgl_getProcAddress(const char *procName);
 QSurfaceFormat qcgl_surfaceFormat();
 void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format);
 
diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm
index c004f26d0296bbce2ca557ce7c2fa75b0c40d5a0..7a129699720f487806b5db0b0c8db65cc22cf282 100644
--- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm
+++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm
@@ -44,6 +44,7 @@
 #include <QtCore/private/qcore_mac_p.h>
 #include <QtPlatformSupport/private/cglconvenience_p.h>
 #include <QtPlatformHeaders/qcocoanativecontext.h>
+#include <dlfcn.h>
 
 #import <AppKit/AppKit.h>
 
@@ -337,7 +338,7 @@ void QCocoaGLContext::doneCurrent()
 
 QFunctionPointer QCocoaGLContext::getProcAddress(const char *procName)
 {
-    return qcgl_getProcAddress(procName);
+    return (QFunctionPointer)dlsym(RTLD_DEFAULT, procName);
 }
 
 void QCocoaGLContext::update()