diff --git a/src/LogicalPermissions.php b/src/LogicalPermissions.php
index <HASH>..<HASH> 100644
--- a/src/LogicalPermissions.php
+++ b/src/LogicalPermissions.php
@@ -289,9 +289,6 @@ class LogicalPermissions implements LogicalPermissionsInterface {
   }
   
   protected function processNOT($permissions, $type = NULL, $context) {
-    if(!is_array($permissions) && !is_string($permissions)) {
-      throw new InvalidValueForLogicGateException("The value of a NOT gate must either be an array or a string. Current value: " . print_r($permissions, TRUE));
-    }
     if(is_array($permissions)) {
       if(count($permissions) != 1) {
         throw new InvalidValueForLogicGateException('A NOT permission must have exactly one child in the value array. Current value: ' . print_r($permissions, TRUE));
@@ -302,6 +299,9 @@ class LogicalPermissions implements LogicalPermissionsInterface {
         throw new InvalidValueForLogicGateException('A NOT permission cannot have an empty string as its value.');
       }
     }
+    else {
+      throw new InvalidValueForLogicGateException("The value of a NOT gate must either be an array or a string. Current value: " . print_r($permissions, TRUE));
+    }
 
     $access = !$this->dispatch($permissions, $type, $context);
     return $access;
kristofer: Minor restructure in processNOT