diff --git a/context_condition_author/context_condition_author.inc b/context_condition_author/context_condition_author.inc
index 52ca88a..7da323b 100644
--- a/context_condition_author/context_condition_author.inc
+++ b/context_condition_author/context_condition_author.inc
@@ -37,19 +37,20 @@ class context_condition_author extends context_condition {
   // @Note: This was copied exactly from context_condition_node.inc
   function options_form($context) {
     $defaults = $this->fetch_from_context($context, 'options');
-    return array(
-      'node_form' => array(
-        '#title' => t('Set on node form'),
-        '#type' => 'select',
-        '#options' => array(
-           CONTEXT_NODE_VIEW => t('No'),
-           CONTEXT_NODE_FORM => t('Yes'),
-           CONTEXT_NODE_FORM_ONLY => t('Only on node form')
-        ),
-        '#description' => t('Set this context on node forms'),
-        '#default_value' => isset($defaults['node_form']) ? $defaults['node_form'] : TRUE,
+    // TODO: implement this in the context_execute
+    $form  = array();
+    $form['node_form'] = array(
+      '#title' => t('Set on node form'),
+      '#type' => 'select',
+      '#options' => array(
+         0 => t('No'),
+         1 => t('Yes'),
+         2 => t('Only on node form')
       ),
+      '#description' => t('Set this context on node forms'),
+      '#default_value' => isset($defaults['node_form']) ? $defaults['node_form'] : TRUE,
     );
+    return $form;
   }
 
   function execute($uid) {
@@ -57,7 +58,8 @@ class context_condition_author extends context_condition {
       foreach ($this->get_contexts() as $context) {
         $users = $this->fetch_from_context($context, 'values');
         $user_ids = $this->convert_to_uids($users);
-        if (in_array($uid, $user_ids)) {
+        $user_ids_exclude = $this->convert_to_uids($users, TRUE);
+        if (in_array($uid, $user_ids) || !in_array($uid, $user_ids_exclude)) {
           $this->condition_met($context);
         }
       }
@@ -67,11 +69,23 @@ class context_condition_author extends context_condition {
   /**
    * Convert the list of users to be all UIDs.
    */
-  function convert_to_uids($users) {
+  function convert_to_uids($users, $negate = FALSE) {
     global $user;
     $user_ids = array();
     $usernames = array();
+    $filtered_users = array();
     foreach ($users as $user_id) {
+      if ($negate) {
+        if (substr($user_id, 0, 1) == '~') {
+         $filtered_users[] = substr($user_id, 1);
+        }
+      } else {
+        if (substr($user_id, 0, 1) != '~') {
+          $filtered_users[] = $user_id;
+        }
+      }
+    }
+    foreach ($filtered_users as $user_id) {
       if (is_numeric($user_id)) {
         $user_ids[] = $user_id;
       }
diff --git a/context_condition_author/context_condition_author.module b/context_condition_author/context_condition_author.module
index 9460f9b..e456dc2 100644
--- a/context_condition_author/context_condition_author.module
+++ b/context_condition_author/context_condition_author.module
@@ -4,11 +4,9 @@
 /**
  * Implementation of hook_nodeapi().
  */
-function context_condition_author_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
+function context_condition_author_node_view($node, $view_mode, $langcode) {
   if ($plugin = context_get_plugin('condition', 'context_condition_author')) {
-    if ($op == 'view') {
-      $plugin->execute($node->uid);
-    }
+    $plugin->execute($node->uid);
   }
 }
 
@@ -47,7 +45,7 @@ function context_condition_author_context_registry() {
     'conditions' => array(
       'context_condition_author' => array(
         'title' => t('Node author'),
-        'description' => t('Set this context when viewing/editing a node authored by a specific user. Enter one user (username or uid) per line. Use &lt;current_user&gt; to match the current user.'),
+        'description' => t('Set this context when viewing/editing a node authored by a specific user. Enter one user (username or uid) per line. Use &lt;current_user&gt; to match the current user. Prefix the username with ~ to exclude that user.'),
         'plugin' => 'context_condition_author',
       ),
     ),
