diff --git a/lib/Net/LDAP3.php b/lib/Net/LDAP3.php
--- a/lib/Net/LDAP3.php
+++ b/lib/Net/LDAP3.php
@@ -773,6 +773,9 @@
             $moz_ldapsearch = "/usr/lib/mozldap/ldapsearch";
         }
         if (!is_file($moz_ldapsearch)) {
+            $moz_ldapsearch = "/usr/bin/ldapsearch";
+        }
+        if (!is_file($moz_ldapsearch)) {
             $moz_ldapsearch = null;
         }
 
@@ -805,6 +808,10 @@
             $command[] = escapeshellarg(self::CONTROL_EFFECTIVE_RIGHTS . ':true');
             $command[] = "-c";
             $command[] = escapeshellarg('dn:' . $this->_current_bind_dn);
+        } else if ($moz_ldapsearch == "/usr/bin/ldapsearch") {
+            // Modern 389 DS:
+            $command[] = "-E";
+            $command[] = escapeshellarg("!" . self::CONTROL_EFFECTIVE_RIGHTS . '=:dn:' . $this->_current_bind_dn);
         } else {
             // For 389 DS:
             $command[] = "-J";