Index: mprefixups.c
===================================================================
--- mprefixups.c	(revision 2580)
+++ mprefixups.c	(working copy)
@@ -89,6 +89,32 @@
 		    mpreLimit = i + 1;
 	    }
 	}
+        /* patch by suresh for fixing pre-base matra reorder for conjuncts */
+        /*  make three more trys for baseGlyph */
+        /*   for a simple conjunct */
+        if (baseGlyph < 0) {
+            for (i = 0; i < n_glyphs; i++) {
+                if (glyphs[i].cluster  == (baseIndex - 2))
+                    baseGlyph = i;
+            }
+        }
+        /*   for bigger one */
+        if (baseGlyph < 0) {
+            for (i = 0; i < n_glyphs; i++) {
+                if (glyphs[i].cluster  == (baseIndex - 4))
+                    baseGlyph = i;
+            }
+        }
+        /*   for the biggest */
+        if (baseGlyph < 0) {
+            for (i = 0; i < n_glyphs; i++) {
+                if (glyphs[i].cluster  == (baseIndex - 6))
+                    baseGlyph = i;
+            }
+        }
+        /*  now leave it */
+         /* end patch */
+
 	if (baseGlyph < 0 || mpreGlyph < 0 || mpreLimit >= baseGlyph) {
 	    continue;
 	}
