diff --git a/modules/rooms_booking/includes/rooms_booking.availability_agent.inc b/modules/rooms_booking/includes/rooms_booking.availability_agent.inc
index 03c18eb..5a7db7f 100644
--- a/modules/rooms_booking/includes/rooms_booking.availability_agent.inc
+++ b/modules/rooms_booking/includes/rooms_booking.availability_agent.inc
@@ -294,6 +294,7 @@ class AvailabilityAgent {
     foreach ($units as $type => $v) {
       foreach ($v as $price => $value) {
         uasort($value, 'comparebyOptionals');
+        uasort($value, 'comparebyOptionals');
         $units[$type][$price] = $value;
       }
     }
@@ -316,5 +317,5 @@ function comparebyOptionals($a, $b) {
     return 1;
   }
 
-  return count($a['unit']->rooms_booking_unit_options[LANGUAGE_NONE]) < count($a['unit']->rooms_booking_unit_options[LANGUAGE_NONE]) ? -1 : 1;
+  return count($b['unit']->rooms_booking_unit_options[LANGUAGE_NONE]) < count($a['unit']->rooms_booking_unit_options[LANGUAGE_NONE]) ? -1 : 1;
 }
