diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index 00e6264..65a6e6d 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -1019,26 +1019,6 @@
     return (jint)rsScriptCCreate(con);
 }
 
-static void
-nScriptCAddDefineI32(JNIEnv *_env, jobject _this, jstring name, jint value)
-{
-    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    const char* n = _env->GetStringUTFChars(name, NULL);
-    LOG_API("nScriptCAddDefineI32, con(%p) name(%s) value(%d)", con, n, value);
-    rsScriptCSetDefineI32(con, n, value);
-    _env->ReleaseStringUTFChars(name, n);
-}
-
-static void
-nScriptCAddDefineF(JNIEnv *_env, jobject _this, jstring name, jfloat value)
-{
-    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    const char* n = _env->GetStringUTFChars(name, NULL);
-    LOG_API("nScriptCAddDefineF, con(%p) name(%s) value(%f)", con, n, value);
-    rsScriptCSetDefineF(con, n, value);
-    _env->ReleaseStringUTFChars(name, n);
-}
-
 // ---------------------------------------------------------------------------
 
 static void
diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec
index 9c57e66..2aa12da 100644
--- a/libs/rs/rs.spec
+++ b/libs/rs/rs.spec
@@ -332,15 +332,6 @@
 	ret RsScript
 	}
 
-ScriptCSetDefineF {
-    param const char* name
-    param float value
-    }
-
-ScriptCSetDefineI32 {
-    param const char* name
-    param int32_t value
-    }
 
 ProgramStoreBegin {
 	param RsElement in
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index 86cda80..e9ba226 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -298,16 +298,6 @@
     return s;
 }
 
-void rsi_ScriptCSetDefineF(Context *rsc, const char* name, float value)
-{
-    LOGE("Error rsi_ScriptCSetDefineF");
-}
-
-void rsi_ScriptCSetDefineI32(Context *rsc, const char* name, int32_t value)
-{
-    LOGE("Error rsi_ScriptCSetDefineI");
-}
-
 }
 }
 
