diff --git a/include/class_acl.inc b/include/class_acl.inc
index 1f27d5f15e546b70120092c74ce231fd10ad2edd..4cda415ceecc6ad303930cfc8c994d24b1b2c5df 100644
--- a/include/class_acl.inc
+++ b/include/class_acl.inc
@@ -141,7 +141,12 @@ class acl
     foreach ($ma as $memberdn) {
       // Check for wildcard here
       $dn = base64_decode($memberdn);
-      if ($dn != "*") {
+      if ($dn != '*') {
+        if (empty($dn)) {
+          trigger_error('Empty dn found in members of ACL');
+          continue;
+        }
+
         $ldap->cat($dn, array('cn', 'objectClass', 'description', 'uid'));
 
         /* Found entry... */
diff --git a/plugins/admin/acl/class_aclAssignment.inc b/plugins/admin/acl/class_aclAssignment.inc
index ecb2f283c2d821089ecc045081554711b2870e7b..34c80f3649f1a6500c6583afac5e21419af156ba 100644
--- a/plugins/admin/acl/class_aclAssignment.inc
+++ b/plugins/admin/acl/class_aclAssignment.inc
@@ -156,6 +156,11 @@ class ACLsAssignmentDialog extends GenericDialog
   function handle_finish ()
   {
     $this->dialog->save_object();
+    $messages = $this->dialog->check();
+    if (!empty($messages)) {
+      msg_dialog::displayChecks($messages);
+      return $this->dialog->execute();
+    }
     $this->attribute->addValue($this->dialog->getAclEntry());
     return FALSE;
   }