diff --git a/breakpoints.module b/breakpoints.module
index 68e9ee0..673b1e2 100644
--- a/breakpoints.module
+++ b/breakpoints.module
@@ -99,7 +99,7 @@ function breakpoints_themes_enabled($theme_list) {
       drupal_set_message($message, 'status');
     }
   }
-  menu_rebuild();
+  variable_set('menu_rebuild_needed', TRUE);
 }
 
 /**
@@ -115,7 +115,7 @@ function breakpoints_themes_disabled($theme_list) {
     }
     breakpoints_breakpoint_group_delete_by_name($theme_key);
   }
-  menu_rebuild();
+  variable_set('menu_rebuild_needed', TRUE);
 }
 
 /**
@@ -628,7 +628,7 @@ function breakpoints_breakpoint_group_save(&$breakpoint_group) {
   $result = drupal_write_record('breakpoint_group', $breakpoint_group, $update);
   // rebuild menu if we add a new group
   if (empty ($update)) {
-    menu_rebuild();
+    variable_set('menu_rebuild_needed', TRUE);
   }
   // Reset CTools cache.
   ctools_export_load_object_reset('breakpoint_group');
@@ -662,7 +662,7 @@ function breakpoints_breakpoint_group_delete_by_fullkey($key) {
   // Clear the Ctools export API cache.
   ctools_include('export');
   ctools_export_load_object_reset('breakpoint_group');
-  menu_rebuild();
+  variable_set('menu_rebuild_needed', TRUE);
 }
 
 /**
