--- modules/indic/mprefixups.c.orig	2008-04-24 12:37:35.000000000 +0530
+++ modules/indic/mprefixups.c	2008-04-24 17:45:53.000000000 +0530
@@ -89,6 +89,24 @@
 		    mpreLimit = i + 1;
 	    }
 	}
+
+	/* fix pre-base matra reorder for conjuncts */
+	if (baseGlyph < 0) {
+	  for (i = 0; i < n_glyphs; i++) {
+	    /* for a simple conjunct */
+	    if (glyphs[i].cluster  == (baseIndex - 2))
+	      baseGlyph = i;
+	    /* for bigger one */
+	    if (glyphs[i].cluster  == (baseIndex - 4))
+	      baseGlyph = i;
+	    /* for the biggest */
+	    if (glyphs[i].cluster  == (baseIndex - 6))
+	      baseGlyph = i;
+	  }
+	}
+	/* now leave it */
+	/* end patch */
+
 	if (baseGlyph < 0 || mpreGlyph < 0 || mpreLimit >= baseGlyph) {
 	    continue;
 	}
