diff --git a/lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike b/lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike
index 0bc656e7d25e26a11b728a34ba7b835608237ca5..4d3ed32e6fb4f91f2e4bdd306e467ef798790e44 100644
--- a/lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike
+++ b/lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike
@@ -30,6 +30,24 @@ constant makepic = ({
     return Image.load(IMAGE_DIR + \"lena.gif\");
   }
 
+  array indices(mixed x)
+  {
+    if (x == Image.Color) {
+      return sort(predef::indices(x));
+    }
+    return predef::indices(x);
+  }
+
+  array values(mixed x)
+  {
+    if (x == Image.Color) {
+      array res = predef::values(x);
+      sort(predef::indices(x), res);
+      return res;
+    }
+    return predef::values(x);
+  }
+
   object|string render();
 
   string make() {
@@ -75,6 +93,24 @@ constant makepic = ({
     return load(IMAGE_DIR + \"lena.gif\");
   }
 
+  array indices(mixed x)
+  {
+    if (x == Image.Color) {
+      return sort(predef::indices(x));
+    }
+    return predef::indices(x);
+  }
+
+  array values(mixed x)
+  {
+    if (x == Image.Color) {
+      array res = predef::values(x);
+      sort(predef::indices(x), res);
+      return res;
+    }
+    return predef::values(x);
+  }
+
   object|string render();
 
   string make() {
@@ -118,6 +154,24 @@ constant makepic = ({
     return load(IMAGE_DIR + \"lena.gif\");
   }
 
+  array indices(mixed x)
+  {
+    if (x == Image.Color) {
+      return sort(predef::indices(x));
+    }
+    return predef::indices(x);
+  }
+
+  array values(mixed x)
+  {
+    if (x == Image.Color) {
+      array res = predef::values(x);
+      sort(predef::indices(x), res);
+      return res;
+    }
+    return predef::values(x);
+  }
+
   object|string render();
 
   string make() {