diff --git a/expire_node/expire_node.info b/expire_node/expire_node.info
new file mode 100644
index 0000000..0dc1190
--- /dev/null
+++ b/expire_node/expire_node.info
@@ -0,0 +1,10 @@
+name = "Node Cache Expiration Flush"
+description = "Flush core performance page cache regardless of minimum lifetime."
+package = "Performance and scalability"
+dependencies[] = expire
+core = 6.x
+
+version = "6.x-0.1"
+core = "6.x"
+project = "expire_node"
+
diff --git a/expire_node/expire_node.module b/expire_node/expire_node.module
new file mode 100644
index 0000000..d2bcfff
--- /dev/null
+++ b/expire_node/expire_node.module
@@ -0,0 +1,29 @@
+<?php
+
+define('EXPIRE_AUTO_FLUSH_NODES', FALSE);
+
+/**
+ * Implements hook_form_FORM_ID_alter().
+ */
+function expire_node_form_expire_admin_settings_form_alter(&$form, $form_state) {
+  $form['expire']['expire_node_auto_flush'] = array(
+    '#type'        => 'checkbox',
+    '#title'       => t("Expire 'core performance' page cache on node update"),
+    '#default_value' => variable_get('expire_node_auto_flush', EXPIRE_AUTO_FLUSH_NODES),
+    '#description'   => t('When updating a node the core page cache will be flushed regardless of minimum cache lifetime in performance settings.'),
+  );
+}
+
+/**
+ * Implementation of hook_expire_cache().
+ *
+ * Expires node page(s) when updated.
+ */
+function expire_node_expire_cache($urls) {
+    // If node cache flushing it set, go for it.
+    if (variable_get('expire_node_auto_flush', EXPIRE_AUTO_FLUSH_NODES)) {
+        foreach($urls as $u) {
+            cache_clear_all($u, 'cache_page', FALSE);
+        }
+    }
+}
\ No newline at end of file
