diff --git a/configure.in b/configure.in
index f3e93afb72e017edccf64fe81aa6e77403c1f31f..d6acef071a6ada21deee12f4c65ca060df345e33 100644
--- a/configure.in
+++ b/configure.in
@@ -2811,6 +2811,24 @@ AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"],
 AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_COLLATION_NAME], ["$default_collation"],
                    [Define the default charset name])
 
+
+# Shall we build the UCA-based Unicode collations
+AC_ARG_WITH(uca,
+    [  --without-uca           Skip building of the national Unicode collations.],
+    [with_uca=$withval],
+    [with_uca=yes]
+)
+
+AC_MSG_CHECKING([whether to compile national Unicode collations])
+
+if test "$with_uca" = "yes"
+then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE([HAVE_UCA_COLLATIONS], [1], [national Unicode collations])
+else
+  AC_MSG_RESULT(no)
+fi
+
 MYSQL_CHECK_ISAM
 MYSQL_CHECK_BDB
 MYSQL_CHECK_INNODB
diff --git a/mysys/charset-def.c b/mysys/charset-def.c
index 3dcd2a2d1165b9b1f6b564ea9d7e6756f373475a..3278566788cc1182c83cdb2b4ddb97cff9ab0280 100644
--- a/mysys/charset-def.c
+++ b/mysys/charset-def.c
@@ -22,6 +22,8 @@
   init_compiled_charsets() that only adds those that he wants
 */
 
+#ifdef HAVE_UCA_COLLATIONS
+
 #ifdef HAVE_CHARSET_ucs2
 extern CHARSET_INFO my_charset_ucs2_general_uca;
 extern CHARSET_INFO my_charset_ucs2_icelandic_uca_ci;
@@ -62,6 +64,8 @@ extern CHARSET_INFO my_charset_utf8_roman_uca_ci;
 extern CHARSET_INFO my_charset_utf8_persian_uca_ci;
 #endif
 
+#endif /* HAVE_UCA_COLLATIONS */
+
 my_bool init_compiled_charsets(myf flags __attribute__((unused)))
 {
   CHARSET_INFO *cs;
@@ -113,6 +117,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
 #ifdef HAVE_CHARSET_ucs2
   add_compiled_collation(&my_charset_ucs2_general_ci);
   add_compiled_collation(&my_charset_ucs2_bin);
+#ifdef HAVE_UCA_COLLATIONS
   add_compiled_collation(&my_charset_ucs2_general_uca);
   add_compiled_collation(&my_charset_ucs2_icelandic_uca_ci);
   add_compiled_collation(&my_charset_ucs2_latvian_uca_ci);
@@ -131,6 +136,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
   add_compiled_collation(&my_charset_ucs2_roman_uca_ci);
   add_compiled_collation(&my_charset_ucs2_persian_uca_ci);
 #endif
+#endif
 
 #ifdef HAVE_CHARSET_ujis
   add_compiled_collation(&my_charset_ujis_japanese_ci);
@@ -140,6 +146,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
 #ifdef HAVE_CHARSET_utf8
   add_compiled_collation(&my_charset_utf8_general_ci);
   add_compiled_collation(&my_charset_utf8_bin);
+#ifdef HAVE_UCA_COLLATIONS
   add_compiled_collation(&my_charset_utf8_general_uca_ci);
   add_compiled_collation(&my_charset_utf8_icelandic_uca_ci);
   add_compiled_collation(&my_charset_utf8_latvian_uca_ci);
@@ -157,6 +164,7 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
   add_compiled_collation(&my_charset_utf8_spanish2_uca_ci);
   add_compiled_collation(&my_charset_utf8_roman_uca_ci);
   add_compiled_collation(&my_charset_utf8_persian_uca_ci);
+#endif
 #endif
 
   /* Copy compiled charsets */
diff --git a/mysys/charset.c b/mysys/charset.c
index 5587a6d685f13ecedffe6b0f2e952df54362c1c0..bb8f2d178b9ed1f2cc7b30fcaa767de2fc76bb12 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -215,7 +215,7 @@ static int add_collation(CHARSET_INFO *cs)
 
       if (!strcmp(cs->csname,"ucs2") )
       {
-#ifdef HAVE_CHARSET_ucs2
+#if defined(HAVE_CHARSET_ucs2) && defined(HAVE_UCA_COLLATIONS)
         new->cset= my_charset_ucs2_general_uca.cset;
         new->coll= my_charset_ucs2_general_uca.coll;
         new->strxfrm_multiply= my_charset_ucs2_general_uca.strxfrm_multiply;
diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c
index 452ca263433f985fbdd8df7c638be5f4b05025ef..7678ee051200bceac7ecc01acb3adab3e5f92bdb 100644
--- a/strings/ctype-uca.c
+++ b/strings/ctype-uca.c
@@ -36,6 +36,7 @@
 #include "m_string.h"
 #include "m_ctype.h"
 
+#ifdef HAVE_UCA_COLLATIONS
 
 #define MY_UCA_NPAGES 256
 #define MY_UCA_NCHARS 256
@@ -8990,4 +8991,6 @@ CHARSET_INFO my_charset_utf8_persian_uca_ci=
     &my_collation_any_uca_handler
 };
 
-#endif
+#endif /* HAVE_CHARSET_utf8 */
+
+#endif /* HAVE_UCA_COLLATIONS */