diff --git a/cpp/RenderScript.cpp b/cpp/RenderScript.cpp
index 4ce4c9b..98ab380 100644
--- a/cpp/RenderScript.cpp
+++ b/cpp/RenderScript.cpp
@@ -54,18 +54,18 @@
     mDev = NULL;
 }
 
-bool RS::init(bool forceCpu) {
-    return RS::init(RS_VERSION, forceCpu);
+bool RS::init(bool forceCpu, bool synchronous) {
+    return RS::init(RS_VERSION, forceCpu, synchronous);
 }
 
-bool RS::init(int targetApi, bool forceCpu) {
+bool RS::init(int targetApi, bool forceCpu, bool synchronous) {
     mDev = rsDeviceCreate();
     if (mDev == 0) {
         ALOGE("Device creation failed");
         return false;
     }
 
-    mContext = rsContextCreate(mDev, 0, targetApi, forceCpu);
+    mContext = rsContextCreate(mDev, 0, targetApi, forceCpu, synchronous);
     if (mContext == 0) {
         ALOGE("Context creation failed");
         return false;
diff --git a/cpp/rsCppStructs.h b/cpp/rsCppStructs.h
index a430c35..a381816 100644
--- a/cpp/rsCppStructs.h
+++ b/cpp/rsCppStructs.h
@@ -43,8 +43,7 @@
     RS();
     virtual ~RS();
 
-    bool init() { return init(false); }
-    bool init(bool forceCpu);
+    bool init(bool forceCpu = false, bool synchronous = false);
 
     void setErrorHandler(ErrorHandlerFunc_t func);
     ErrorHandlerFunc_t getErrorHandler() { return mErrorFunc; }
@@ -59,7 +58,7 @@
     void finish();
 
  private:
-    bool init(int targetApi, bool forceCpu);
+    bool init(int targetApi, bool forceCpu, bool synchronous);
     static void * threadProc(void *);
 
     static bool gInitialized;
