diff --git a/bean.module b/bean.module
index 2ad3302..7ee10c6 100644
--- a/bean.module
+++ b/bean.module
@@ -410,6 +410,24 @@ function bean_bean_cache_clear() {
 
   // Flush caches.
   cache_clear_all('bean_plugins', 'cache');
+
+  if (module_exists('block')) {
+    cache_clear_all(NULL, 'cache_block');
+  }
+  cache_clear_all(NULL, 'cache_page');
+}
+
+/**
+ * Clear out cache_block table
+ * @param  object $bean the bean object
+ */
+function bean_cache_clear_block($bean = null) {
+  if (isset($bean->delta)) {
+    cache_clear_all('bean:' . $bean->delta . ':', 'cache_block', TRUE);
+  }
+  else {
+    cache_clear_all('bean:', 'cache_block', TRUE);
+  }
 }
 
 /**
diff --git a/includes/bean.core.inc b/includes/bean.core.inc
index f13dff1..947cc17 100644
--- a/includes/bean.core.inc
+++ b/includes/bean.core.inc
@@ -371,6 +371,10 @@ class Bean extends Entity {
     $return = parent::save();
     bean_reset(TRUE, TRUE);
 
+    if (module_exists('block')) {
+      bean_cache_clear_block($this);
+    }
+
     return $return;
   }
 
