diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 9b4667e..18a19ee 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -1018,6 +1018,11 @@ function variable_get($name, $default = NULL) {
 function variable_set($name, $value) {
   global $conf;
 
+  if (isset($conf[$name]) && $conf[$name] === $value) {
+    // If value is set already, we avoid a database call.
+    return;
+  }
+
   db_merge('variable')->key(array('name' => $name))->fields(array('value' => serialize($value)))->execute();
 
   cache('bootstrap')->delete('variables');
