diff --git a/memcache.inc b/memcache.inc
index c088a40..f8e8f21 100644
--- a/memcache.inc
+++ b/memcache.inc
@@ -446,7 +446,7 @@ function memcache_variable_set($name, $value) {
   }
   // If the variables are cached, get a fresh copy, update with the new value
   // and set it again.
-  if ($cached = cache_get('variables', 'cache')) {
+  if ($cached = cache_get('variables', 'cache') && !empty($cached->data)) {
     $variables = $cached->data;
     $variables[$name] = $value;
     cache_set('variables', $variables);
