diff --git a/build/android/Android.mk b/build/android/Android.mk
index 4a2add8f61fd0857b60f62a2fb072a7a38b5bae8..a6a6ae97f8b8b987d0ce701c569fadf7c53d5020 100755
--- a/build/android/Android.mk
+++ b/build/android/Android.mk
@@ -59,10 +59,13 @@ LOCAL_CFLAGS += \
 
 LOCAL_CFLAGS += -DIN_LINPHONE
 
+
 ifeq ($(LINPHONE_VIDEO),1)
 LOCAL_CFLAGS += -DVIDEO_ENABLED
+ifeq ($(BUILD_X264),1)
+LOCAL_CFLAGS += -DHAVE_X264
+endif
 endif
-
 LOCAL_C_INCLUDES += \
 	$(LOCAL_PATH) \
 	$(LOCAL_PATH)/include \
@@ -82,15 +85,18 @@ LOCAL_STATIC_LIBRARIES := \
 	libosip2 \
 	libgsm
 
+
 ifeq ($(LINPHONE_VIDEO),1)
+ifeq ($(BUILD_X264),1)
+LOCAL_STATIC_LIBRARIES += \
+	libmsx264 \
+	libx264 
+endif
 LOCAL_SHARED_LIBRARIES += \
 	libavcodec \
 	libswscale \
 	libavcore \
-	libavutil 
-LOCAL_STATIC_LIBRARIES += \
-	libmsx264 \
-	libx264
+	libavutil
 endif
 
 LOCAL_STATIC_LIBRARIES += libspeex 
diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc
index adb2a92b131941c1dd17bc606283a257e9814524..07acaf08af737b1a6edc87e8a1a89690f2ebb6d6 100644
--- a/coreapi/linphonecore_jni.cc
+++ b/coreapi/linphonecore_jni.cc
@@ -24,7 +24,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #ifdef ANDROID
 #include <android/log.h>
 extern "C" void libmsilbc_init();
+#ifdef HAVE_X264
 extern "C" void libmsx264_init();
+#endif
 #endif /*ANDROID*/
 
 static JavaVM *jvm=0;
@@ -335,7 +337,7 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv*
 #ifdef HAVE_ILBC
 	libmsilbc_init(); // requires an fpu
 #endif
-#ifdef VIDEO_ENABLED
+#ifdef HAVE_X264
 	libmsx264_init();
 #endif
 	jlong nativePtr = (jlong)linphone_core_new(	&ldata->vTable
@@ -1200,4 +1202,4 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setSignalingTransportPor
 	tr.tls_port = tls;
 	
 	linphone_core_set_sip_transports(lc, &tr); // tr will be copied
-}
\ No newline at end of file
+}