diff -ru orig.icu/source/layout/IndicReordering.cpp icu/source/layout/IndicReordering.cpp
--- orig.icu/source/layout/IndicReordering.cpp	2016-04-15 18:30:15.788856946 +0200
+++ icu/source/layout/IndicReordering.cpp	2016-04-15 18:30:39.244998995 +0200
@@ -13,6 +13,7 @@
 
 U_NAMESPACE_BEGIN
 
+#define ccmpFeatureTag LE_CCMP_FEATURE_TAG
 #define loclFeatureTag LE_LOCL_FEATURE_TAG
 #define initFeatureTag LE_INIT_FEATURE_TAG
 #define nuktFeatureTag LE_NUKT_FEATURE_TAG
@@ -35,6 +36,7 @@
 #define caltFeatureTag LE_CALT_FEATURE_TAG
 #define kernFeatureTag LE_KERN_FEATURE_TAG
 
+#define ccmpFeatureMask 0x00000001UL
 #define loclFeatureMask 0x80000000UL
 #define rphfFeatureMask 0x40000000UL
 #define blwfFeatureMask 0x20000000UL
@@ -73,7 +75,7 @@
 
 #define repositionedGlyphMask   0x00000002UL
 
-#define basicShapingFormsMask ( loclFeatureMask | nuktFeatureMask | akhnFeatureMask | rkrfFeatureMask | blwfFeatureMask | halfFeatureMask | vatuFeatureMask | cjctFeatureMask )
+#define basicShapingFormsMask ( ccmpFeatureMask | loclFeatureMask | nuktFeatureMask | akhnFeatureMask | rkrfFeatureMask | blwfFeatureMask | halfFeatureMask | vatuFeatureMask | cjctFeatureMask )
 #define positioningFormsMask ( kernFeatureMask | distFeatureMask | abvmFeatureMask | blwmFeatureMask )
 #define presentationFormsMask ( presFeatureMask | abvsFeatureMask | blwsFeatureMask | pstsFeatureMask | halnFeatureMask | caltFeatureMask )
 
@@ -484,6 +486,7 @@
 #define tagArray0 (rphfFeatureMask | tagArray1)
 
 static const FeatureMap featureMap[] = {
+    {ccmpFeatureTag, ccmpFeatureMask},
     {loclFeatureTag, loclFeatureMask},
     {initFeatureTag, initFeatureMask},
     {nuktFeatureTag, nuktFeatureMask},
@@ -506,6 +509,7 @@
 static const le_int32 featureCount = LE_ARRAY_SIZE(featureMap);
 
 static const FeatureMap v2FeatureMap[] = {
+    {ccmpFeatureTag, ccmpFeatureMask},
 	{loclFeatureTag, loclFeatureMask},
     {nuktFeatureTag, nuktFeatureMask},
     {akhnFeatureTag, akhnFeatureMask},
