diff --git a/modules/system/system.install b/modules/system/system.install
index fc28922edd2241fa3908c861a68b423fd03cb7ae..244e1bbf6646481e44b40d4acc245b32b65c2732 100644
--- a/modules/system/system.install
+++ b/modules/system/system.install
@@ -765,15 +765,13 @@ function system_schema() {
       ),
       'load_functions' => array(
         'description' => t('A serialized array of function names (like node_load) to be called to load an object corresponding to a part of the current path.'),
-        'type' => 'varchar',
-        'length' => 255,
+        'type' => 'text',
         'not null' => TRUE,
         'default' => '',
       ),
       'to_arg_functions' => array(
         'description' => t('A serialized array of function names (like user_uid_optional_to_arg) to be called to replace a part of the router path with another string.'),
-        'type' => 'varchar',
-        'length' => 255,
+        'type' => 'text',
         'not null' => TRUE,
         'default' => '',
       ),
@@ -3041,6 +3039,17 @@ function system_update_7009() {
   return $ret;
 }
 
+/**
+ * Increase the size of the 'load_functions' and 'to_arg_functions' fields in table 'menu_router'.
+ */
+function system_update_7010() {
+  $ret = array();
+  db_change_field($ret, 'menu_router', 'load_functions', 'load_functions', array('type' => 'text', 'not null' => TRUE, 'default' => ''));
+  db_change_field($ret, 'menu_router', 'to_arg_functions', 'to_arg_functions', array('type' => 'text', 'not null' => TRUE, 'default' => '',));
+
+  return $ret;
+}
+
 /**
  * @} End of "defgroup updates-6.x-to-7.x"
  * The next series of updates should start at 8000.