diff --git a/android/opengles.c b/android/opengles.c
index 70e3f8c..6f0556f 100644
--- a/android/opengles.c
+++ b/android/opengles.c
@@ -47,6 +47,7 @@
   DYNLINK_FUNC(initLibrary) \
   DYNLINK_FUNC(setStreamMode) \
   DYNLINK_FUNC(initOpenGLRenderer) \
+  DYNLINK_FUNC(setPostCallback) \
   DYNLINK_FUNC(getHardwareStrings) \
   DYNLINK_FUNC(createOpenGLSubwindow) \
   DYNLINK_FUNC(destroyOpenGLSubwindow) \
@@ -139,20 +140,28 @@
 }
 
 int
-android_startOpenglesRenderer(int width, int height, OnPostFunc onPost, void* onPostContext)
+android_startOpenglesRenderer(int width, int height)
 {
     if (!rendererLib) {
         D("Can't start OpenGLES renderer without support libraries");
         return -1;
     }
 
-    if (!initOpenGLRenderer(width, height, ANDROID_OPENGLES_BASE_PORT, onPost, onPostContext)) {
+    if (!initOpenGLRenderer(width, height, ANDROID_OPENGLES_BASE_PORT)) {
         D("Can't start OpenGLES renderer?");
         return -1;
     }
     return 0;
 }
 
+void
+android_setPostCallback(OnPostFunc onPost, void* onPostContext)
+{
+    if (rendererLib) {
+        setPostCallback(onPost, onPostContext);
+    }
+}
+
 static void strncpy_safe(char* dst, const char* src, size_t n)
 {
     strncpy(dst, src, n);
