diff --git a/wordfilter.admin.inc b/wordfilter.admin.inc
index 0f29e43..cd1821b 100644
--- a/wordfilter.admin.inc
+++ b/wordfilter.admin.inc
@@ -36,6 +36,13 @@ function wordfilter_settings_form() {
     '#default_value' => variable_get('wordfilter_comment_title', TRUE),
     '#return_value' => TRUE,
   );
+  $form['general_options']['wordfilter_process_case_sensitive'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Process word filters using case sensitivity'),
+    '#description' => t("If checked, case sensitivity is used when checking text against the list of words to replace. For example searching for 'foo' and 'Foo' will only match once for the string 'foo and bar'"),
+    '#default_value' => variable_get('wordfilter_process_case_sensitive', FALSE),
+    '#return_value' => TRUE,
+  );
   $form['general_options']['wordfilter_use_utf8_flag'] = array(
     '#type' => 'checkbox',
     '#title' => t('Use Perl UTF8 Regular Expression Modifier'),
diff --git a/wordfilter.install b/wordfilter.install
index 391215d..0a0c54b 100755
--- a/wordfilter.install
+++ b/wordfilter.install
@@ -64,6 +64,7 @@ function wordfilter_uninstall() {
   variable_del('wordfilter_default_replacement');
   variable_del('wordfilter_node_title');
   variable_del('wordfilter_comment_title');
+  variable_del('wordfilter_process_case_sensitive');
 }
 
 /**
diff --git a/wordfilter.module b/wordfilter.module
index a0dd20b..39ed93f 100644
--- a/wordfilter.module
+++ b/wordfilter.module
@@ -220,6 +220,8 @@ function wordfilter_filter_process($text) {
   $text = ' ' . $text . ' ';
   $list = _wordfilter_list();
   $utf8 = variable_get('wordfilter_use_utf8_flag', FALSE);
+  $case_sensitive = variable_get('wordfilter_process_case_sensitive', FALSE);
+
   foreach ($list as $word) {
     // Prevent mysterious empty value from blowing away the node title.
     if (!empty($word->words)) {
@@ -230,11 +232,16 @@ function wordfilter_filter_process($text) {
       }
 
       if ($word->standalone) {
-        $pattern = '/(\W)' . preg_quote($word->words, '/') . '(\W)/i';
+        $pattern = '/(\W)' . preg_quote($word->words, '/') . '(\W)/';
       }
       else {
-        $pattern = '/' . preg_quote($word->words, '/') . '/i';
+        $pattern = '/' . preg_quote($word->words, '/') . '/';
+      }
+
+      if (!$case_sensitive) {
+        $pattern .= 'i';
       }
+
       if ($utf8) {
         $pattern .= 'u';
       }
