diff --git a/driver/rsdCore.cpp b/driver/rsdCore.cpp
index ed421ee..e38f92a 100644
--- a/driver/rsdCore.cpp
+++ b/driver/rsdCore.cpp
@@ -163,9 +163,9 @@
         rsdScriptGroupSetOutput,
         rsdScriptGroupExecute,
         rsdScriptGroupDestroy
-    }
+    },
 
-
+    NULL // finish
 };
 
 extern const RsdCpuReference::CpuSymbol * rsdLookupRuntimeStub(Context * pContext, char const* name);
diff --git a/rsContext.cpp b/rsContext.cpp
index 5cafd97..145759e 100644
--- a/rsContext.cpp
+++ b/rsContext.cpp
@@ -510,6 +510,7 @@
     mDPI = 96;
     mIsContextLite = false;
     memset(&watchdog, 0, sizeof(watchdog));
+    memset(&mHal, 0, sizeof(mHal));
     mForceCpu = false;
     mContextType = RS_CONTEXT_TYPE_NORMAL;
     mSynchronous = false;
@@ -721,6 +722,12 @@
 }
 #endif
 
+void Context::finish() {
+    if (mHal.funcs.finish) {
+        mHal.funcs.finish(this);
+    }
+}
+
 void Context::assignName(ObjectBase *obj, const char *name, uint32_t len) {
     rsAssert(!obj->getName());
     obj->setName(name, len);
@@ -785,6 +792,7 @@
 namespace renderscript {
 
 void rsi_ContextFinish(Context *rsc) {
+    rsc->finish();
 }
 
 void rsi_ContextBindRootScript(Context *rsc, RsScript vs) {
diff --git a/rsContext.h b/rsContext.h
index 1dc7c62..ab56c27 100644
--- a/rsContext.h
+++ b/rsContext.h
@@ -151,6 +151,7 @@
     void resume();
     void setSurface(uint32_t w, uint32_t h, RsNativeWindow sur);
 #endif
+    void finish();
 
     void setPriority(int32_t p);
     void destroyWorkerThreadResources();
diff --git a/rs_hal.h b/rs_hal.h
index 16bd890..9ae6fed 100644
--- a/rs_hal.h
+++ b/rs_hal.h
@@ -287,6 +287,7 @@
         void (*destroy)(const Context *rsc, const ScriptGroup *sg);
     } scriptgroup;
 
+    void (*finish)(const Context *rsc);
 } RsdHalFunctions;
 
 
