diff -up ../swfaddress_dev/swfaddress.admin.inc ./swfaddress.admin.inc
--- ./swfaddress.admin.inc	2009-11-12 03:18:19.000000000 +1100
+++ ./swfaddress.admin.inc	2010-01-07 13:15:14.000000000 +1100
@@ -1,6 +1,4 @@
 <?php
-// $Id: swfaddress.admin.inc,v 1.1.2.2 2009/11/11 16:18:19 bmcmurray Exp $ 
-
 /**
  * Controller for swfaddress administrative settings.
  */
@@ -19,6 +17,13 @@ function swfaddress_admin_form() {
     '#default_value' => variable_get('swfaddress_send_aliases', TRUE)
   );
 
+  $form['swfaddress_send_404'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Send 404s'),
+    '#description' => t('If enabled, SWFAddress will send pages that do not exist to your SWF.'),
+    '#default_value' => variable_get('swfaddress_send_404', TRUE)
+  );
+
   $form['swf_options'] = array(
     '#type' => 'fieldset',
     '#title' => t('SWF File Settings'),
diff -up ../swfaddress_dev/swfaddress.module ./swfaddress.module
--- ./swfaddress.module	2009-11-11 09:34:22.000000000 +1100
+++ ./swfaddress.module	2010-01-07 13:18:40.000000000 +1100
@@ -191,12 +191,25 @@ function _swfaddress_path_permitted($tes
   }
 
   $path = drupal_get_path_alias($test_path);
-  $regexp = '/^('. preg_replace(array('/(\r\n?|\n)/', '/\\\\\*/', '/(^|\|)\\\\<front\\\\>($|\|)/'), array('|', '.*', '\1'. preg_quote(variable_get('site_frontpage', 'node'), '/') .'\2'), preg_quote(variable_get('swfaddress_excluded_paths', swfaddress_help('admin/settings/swfaddress#pages')), '/')) .')$/';
-  $path_permitted = !preg_match($regexp, $path);
+  $send_errors = variable_get('swfaddress_send_404', TRUE);
+  if ($send_errors) {
+    $path_exists = TRUE;
+  }
+  else {
+    $path_exists = drupal_lookup_path($path);
+  }
+  
+  if ($path_exists) {
+    $regexp = '/^('. preg_replace(array('/(\r\n?|\n)/', '/\\\\\*/', '/(^|\|)\\\\<front\\\\>($|\|)/'), array('|', '.*', '\1'. preg_quote(variable_get('site_frontpage', 'node'), '/') .'\2'), preg_quote(variable_get('swfaddress_excluded_paths', swfaddress_help('admin/settings/swfaddress#pages')), '/')) .')$/';
+    $path_permitted = !preg_match($regexp, $path);
 
-  // The above code works for the "Exclude" mode.
-  if (variable_get('swfaddress_include_paths', 0)) {
-    $path_permitted = !$path_permitted;
+    // The above code works for the "Exclude" mode.
+    if (variable_get('swfaddress_include_paths', 0)) {
+      $path_permitted = !$path_permitted;
+    }
+  }
+  else {
+    $path_permitted = $path_exists;
   }
   
   return $path_permitted;
Only in .: swfaddress.patch
