diff --git a/splash.module b/splash.module
index 0df1656..295bb21 100644
--- a/splash.module
+++ b/splash.module
@@ -209,6 +209,25 @@ function splash_init() {
   }
 }
 
+function splash_exit($destination = NULL) {
+  global $base_url;
+  drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH);
+  if (splash_is_on() && drupal_is_front_page()) {
+    // I'm seeing custom front pages (e.g., 'node/4') being cached with a cid
+    // of $base_url, so that's what I'm clearing
+    $front_page = $base_url . '/';
+    db_query("DELETE FROM {cache_page} WHERE cid = '%s'", $front_page);
+  }
+}
+
+function splash_is_on() {
+  $splash = variable_get('splash_when', FALSE);
+  if ($splash && !empty($splash['frequency'])) {
+    return TRUE;
+  }
+  return FALSE;
+}
+
 function splash_help($path, $arg) {
   switch ($path) {
     case 'admin/settings/splash':
