=== modified file 'includes/common.inc'
--- includes/common.inc	2010-08-05 20:33:32 +0000
+++ includes/common.inc	2010-08-14 08:33:15 +0000
@@ -5280,6 +5280,13 @@ function drupal_render_cache_set(&$marku
   $bin = isset($elements['#cache']['bin']) ? $elements['#cache']['bin'] : 'cache';
   $expire = isset($elements['#cache']['expire']) ? $elements['#cache']['expire'] : CACHE_PERMANENT;
   cache_set($cid, $data, $bin, $expire);
+  if (isset($elements['#cache']['checker callback'])) {
+    $function = $elements['#cache']['checker callback'];
+    $valid = call_user_func_array($function, isset($elements['#cache']['checker arguments']) ? $elements['#cache']['checker arguments'] : array());
+    if (!$valid) {
+      cache_clear_all($cid, $bin);
+    }
+  }
 }
 
 /**

