--- bootstrap.inc	2010-08-06 13:50:24.000000000 +0200
+++ bootstrap.inc.uns	2010-08-20 11:17:02.000000000 +0200
@@ -553,7 +553,8 @@
   else {
     $result = db_query('SELECT * FROM {variable}');
     while ($variable = db_fetch_object($result)) {
-      $variables[$variable->name] = unserialize($variable->value);
+      // Do not yet unserialize value, do it only when needed
+      $variables['--'.$variable->name] = $variable->value;
     }
     cache_set('variables', $variables);
   }
@@ -584,7 +585,14 @@
 function variable_get($name, $default) {
   global $conf;
 
-  return isset($conf[$name]) ? $conf[$name] : $default;
+  if(isset($conf[$name])) {
+    return $conf[$name];
+  } else {
+    if(isset($conf['--'.$name])) {
+      return $conf[$name]=unserialize($conf['--'.$name]);
+    }
+    return $default;
+  }
 }
 
 /**
