diff --git a/Android.mk b/Android.mk
index 28e8f8b..0610838 100644
--- a/Android.mk
+++ b/Android.mk
@@ -80,8 +80,6 @@
   LOCAL_REQUIRED_MODULES_arm += libclcore_neon.bc
 endif
 
-LOCAL_REQUIRED_MODULES_arm64 += libclcore_neon.bc
-
 # Generate build information (Build time + Build git revision + Build Semi SHA1)
 my_2nd_arch_prefix :=
 include $(LIBBCC_ROOT_PATH)/libbcc-gen-build-info.mk
diff --git a/lib/Renderscript/RSInfo.cpp b/lib/Renderscript/RSInfo.cpp
index 5bca5e6..5937fe4 100644
--- a/lib/Renderscript/RSInfo.cpp
+++ b/lib/Renderscript/RSInfo.cpp
@@ -48,7 +48,7 @@
 #if defined(__i386__) || defined(__x86_64__)
 const char RSInfo::LibCLCoreX86Path[] = SYSLIBPATH"/libclcore_x86.bc";
 #endif
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(DISABLE_CLCORE_NEON)
 const char RSInfo::LibCLCoreNEONPath[] = SYSLIBPATH"/libclcore_neon.bc";
 #endif
 
@@ -57,7 +57,7 @@
 const uint8_t *RSInfo::LibRSSHA1 = NULL;
 const uint8_t *RSInfo::LibCLCoreSHA1 = NULL;
 const uint8_t *RSInfo::LibCLCoreDebugSHA1 = NULL;
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(DISABLE_CLCORE_NEON)
 const uint8_t *RSInfo::LibCLCoreNEONSHA1 = NULL;
 #endif
 
@@ -83,7 +83,7 @@
       reinterpret_cast<const uint8_t *>(::dlsym(h, "libclcore_bc_SHA1"));
   LibCLCoreDebugSHA1 =
       reinterpret_cast<const uint8_t *>(::dlsym(h, "libclcore_debug_bc_SHA1"));
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(DISABLE_CLCORE_NEON)
   LibCLCoreNEONSHA1 =
       reinterpret_cast<const uint8_t *>(::dlsym(h, "libclcore_neon_bc_SHA1"));
 #endif
@@ -114,7 +114,7 @@
                              const DependencyTableTy &pDeps) {
   // Built-in dependencies are libbcc.so, libRS.so and libclcore.bc plus
   // libclcore_neon.bc if NEON is available on the target device.
-#if !defined(ARCH_ARM_HAVE_NEON)
+#if !defined(ARCH_ARM_HAVE_NEON) && !defined(DISABLE_CLCORE_NEON)
   static const unsigned NumBuiltInDependencies = 5;
 #else
   static const unsigned NumBuiltInDependencies = 6;
@@ -139,7 +139,7 @@
         pInfo.mDependencyTable[3];
     const std::pair<const char *, const uint8_t *> &cache_libclcore_debug_dep =
         pInfo.mDependencyTable[4];
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(DISABLE_CLCORE_NEON)
     const std::pair<const char *, const uint8_t *> &cache_libclcore_neon_dep =
         pInfo.mDependencyTable[5];
 #endif
@@ -197,7 +197,7 @@
         return false;
     }
 
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(DISABLE_CLCORE_NEON)
     // Check libclcore_neon.bc if NEON is available.
     if (::memcmp(cache_libclcore_neon_dep.second, LibCLCoreNEONSHA1,
                  SHA1_DIGEST_LENGTH) != 0) {
diff --git a/libbcc-targets.mk b/libbcc-targets.mk
index 31c9ff7..35b1ee7 100644
--- a/libbcc-targets.mk
+++ b/libbcc-targets.mk
@@ -28,7 +28,7 @@
   LOCAL_CFLAGS_arm += -DARCH_ARM_HAVE_NEON
 endif
 
-LOCAL_CFLAGS_arm64 += -DFORCE_ARM64_CODEGEN -DARCH_ARM_HAVE_NEON -DARCH_ARM_HAVE_VFP -DARCH_ARM_HAVE_VFP_D32
+LOCAL_CFLAGS_arm64 += -DFORCE_ARM64_CODEGEN -DARCH_ARM_HAVE_NEON -DARCH_ARM_HAVE_VFP -DARCH_ARM_HAVE_VFP_D32 -DDISABLE_CLCORE_NEON
 LOCAL_CFLAGS_mips += -DFORCE_MIPS_CODEGEN
 LOCAL_CFLAGS_mips64 += -DFORCE_MIPS64_CODEGEN
 
diff --git a/libbcc.sha1.mk b/libbcc.sha1.mk
index dbe615f..60c05d7 100644
--- a/libbcc.sha1.mk
+++ b/libbcc.sha1.mk
@@ -22,11 +22,6 @@
 endif
 endif
 
-ifeq ($(TARGET_$(my_2nd_arch_prefix)ARCH),arm64)
-  libbcc_SHA1_SRCS += \
-    $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore_neon.bc,,,$(my_2nd_arch_prefix))/libclcore_neon.bc
-endif
-
 libbcc_GEN_SHA1_STAMP := $(LOCAL_PATH)/tools/build/gen-sha1-stamp.py
 intermediates := $(call local-intermediates-dir,,$(my_2nd_arch_prefix))
 
