Index: /Users/Sites/danceup/modules/rules/ui/ui.controller.inc
===================================================================
--- /Users/Sites/danceup/modules/rules/ui/ui.controller.inc	(revision 621)
+++ /Users/Sites/danceup/modules/rules/ui/ui.controller.inc	(working copy)
@@ -201,7 +201,7 @@
     }
 
     $entities = entity_load('rules_config', FALSE, $conditions);
-    ksort($entities);
+    usort($entities, 'RulesUIController::sortObjectsByWeight');
 
     // Prepare some variables used by overviewTableRow().
     $this->event_info = rules_fetch_data('event_info');
@@ -313,4 +313,16 @@
     $row[] = l(t('export'), RulesPluginUI::path($name, 'export'), array('attributes' => array('class' => array('export', 'action'))));
     return $row;
   }
+
+  /**
+   * usort() callback for overviewTable
+   */
+  public static function sortObjectsByWeight($a, $b) {
+    $a_weight = (is_object($a) && isset($a->weight)) ? $a->weight : 0;
+    $b_weight = (is_object($b) && isset($b->weight)) ? $b->weight : 0;
+    if ($a_weight == $b_weight) {
+      return 0;
+    }
+    return ($a_weight < $b_weight) ? -1 : 1;
+  }
 }
