--- ../location_orig/location.module	2008-12-11 08:44:11.000000000 -0800
+++ location.module	2009-01-20 20:20:42.000000000 -0800
@@ -946,10 +946,10 @@ function location_load_locations($id, $k
     return array();
   }
   if ($key == 'genid') {
-    $result = db_query('SELECT lid FROM {location_instance} WHERE '. db_escape_table($key) ." = '%s'", $id);
+    $result = db_query('SELECT lid FROM {location_instance} WHERE '. db_escape_table($key) ." = '%s' ORDER BY lid", $id);
   }
   else {
-    $result = db_query('SELECT lid FROM {location_instance} WHERE '. db_escape_table($key) .' = %d', $id);
+    $result = db_query('SELECT lid FROM {location_instance} WHERE '. db_escape_table($key) .' = %d ORDER BY lid', $id);
   }
   $locations = array();
   while ($lid = db_fetch_object($result)) {
@@ -986,7 +986,7 @@ function location_save_locations(&$locat
         $qfrags[] = "$key = $placeholder";
       }
     }
-    $querybase = 'FROM {location_instance} WHERE '. implode(' AND ', $qfrags);
+    $querybase = 'FROM {location_instance} WHERE '. implode(' AND ', $qfrags) . " ORDER BY lid";
 
     $oldlids = array();
     $newlids = array();
@@ -1268,7 +1268,7 @@ function location_save(&$location, $cow 
             $qfrags[] = "$key = $placeholder";
           }
         }
-        $querybase = 'FROM {location_instance} WHERE '. implode(' AND ', $qfrags);
+        $querybase = 'FROM {location_instance} WHERE '. implode(' AND ', $qfrags) . " ORDER BY lid";
 
         $associated = db_result(db_query("SELECT COUNT(*) $querybase"));
         $all = db_result(db_query("SELECT COUNT(*) FROM {location_instance} WHERE lid = %d", $location['lid']));
