diff --git a/contrib/bin/fusiondirectory-setup b/contrib/bin/fusiondirectory-setup
index e2344e36d0fdbeab843afc4c1c11c4dc4a9cca59..0a9fcb3487cd549e71e203a68ad8abfdce34aa8e 100644
--- a/contrib/bin/fusiondirectory-setup
+++ b/contrib/bin/fusiondirectory-setup
@@ -590,7 +590,7 @@ sub add_ldap_admin {
   foreach my $entry (@$people_entries) {
     my $mesg = $ldap->search(
       base => "$entry",
-      filter => "(&(objectClass=gosaAccount)(uid=$fd_admin_uid))",
+      filter => "(&(objectClass=inetOrgPerson)(uid=$fd_admin_uid))",
       attrs => ['uid']
     );
     $mesg->code && die $mesg->error;
@@ -616,7 +616,7 @@ sub add_ldap_admin {
       'sn'  =>  'Administrator',
       'uid' =>  $fd_admin_uid,
       'givenname'     =>  'System',
-      'objectclass'   =>  [ 'top', 'person', 'gosaAccount', 'organizationalPerson', 'inetOrgPerson' ],
+      'objectclass'   =>  [ 'top', 'person', 'organizationalPerson', 'inetOrgPerson' ],
       'userPassword'  => "{CRYPT}".unix_md5_crypt($fd_admin_pwd)
     );
     if (not defined $obj{$attr}) {
@@ -837,7 +837,7 @@ sub check_admin {
             my $member_node = $ldap->search(
               base    => $dn,
               scope   => 'base',
-              filter  => "(objectClass=gosaAccount)"
+              filter  => "(objectClass=inetOrgPerson)"
             );
             if ($member_node->count == 1) {
               print ("$dn is a valid admin\n");
@@ -854,7 +854,7 @@ sub check_admin {
               # Find group members
               my $member_entry  = $member_node->shift_entry;
               my $memberUids    = $member_entry->get_value("memberUid", asref => 1);
-              my $filter = '(&(objectClass=gosaAccount)(|(uid='.join(')(uid=', @$memberUids).')))';
+              my $filter = '(&(objectClass=inetOrgPerson)(|(uid='.join(')(uid=', @$memberUids).')))';
               my $group_members = $ldap->search(
                 base    => $base,
                 filter  => $filter,
@@ -1117,7 +1117,7 @@ sub migrate_users {
   print ("---------------------------------------------\n");
 
   my $mesg = $ldap->search(
-    filter => "(|(!(objectClass~=gosaAccount))(!(objectClass~=organizationalPerson))(!(objectClass~=Person)))",
+    filter => "(|(!(objectClass~=inetOrgPerson))(!(objectClass~=organizationalPerson))(!(objectClass~=Person)))",
     base   => "$peopleou,$base",
     scope  => $scope
   );
@@ -1125,7 +1125,7 @@ sub migrate_users {
   my @entries = $mesg->entries;
 
   foreach my $entry (@entries) {
-    $mesg = $ldap->modify($entry->dn(), add => { "ObjectClass" => "gosaAccount"});
+    $mesg = $ldap->modify($entry->dn(), add => { "ObjectClass" => "inetOrgPerson"});
     $mesg = $ldap->modify($entry->dn(), add => { "ObjectClass" => "organizationalPerson"});
     $mesg = $ldap->modify($entry->dn(), add => { "ObjectClass" => "Person"});
     print $entry->dn();
diff --git a/contrib/docs/README.ldap-migration b/contrib/docs/README.ldap-migration
index 95ee7eb5507de8a083c54f456ee560f24bfd643a..4e30fdc2c49a54020aa054ebc05735a5cdb7d17c 100644
--- a/contrib/docs/README.ldap-migration
+++ b/contrib/docs/README.ldap-migration
@@ -4,15 +4,7 @@ LDAP TREE MIGRATION
 To migrate an existing LDAP tree, you've to do all steps from above,
 plus some modifications:
 
-- FusionDirectory only shows users that have the objectClass gosaAccount
-  This one has been introduced for several reasons. First, there are
-  cases you want to hide special accounts from regular admins (i.e.
-  a samba admin account which is used to log windows machines into
-  their domain, where changing a password by accident has bad consequences).
-  Secondly the gosaAccount keeps the lm/nt password hashes and the
-  attributes for the last password change - with the consequence that
-  adding a samba account "later" will not require the user to reset
-  the password.
+- FusionDirectory only shows users that have the objectClass inetOrgPerson
 
 - FusionDirectory only recognizes subtrees (or departments in FusionDirectory's
   view of things) that have the objectClass gosaDepartment. You can hide subtrees
diff --git a/contrib/openldap/core-fd.schema b/contrib/openldap/core-fd.schema
index 80326c1368876e7eface70772680c98bbff8d2b6..6728903d040185f840a0f5a5070f9e212d8fbba6 100644
--- a/contrib/openldap/core-fd.schema
+++ b/contrib/openldap/core-fd.schema
@@ -78,6 +78,7 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.12.39 NAME 'gosaSnapshotData'
 
 attributetype ( 1.3.6.1.4.1.10098.1.1.12.46 NAME 'gosaLoginRestriction'
   DESC 'Multivalue attribute to carry a number of allowed ips/subnets'
+  OBSOLETE
   SUP name)
 
 attributetype ( 1.3.6.1.4.1.10098.1.1.6.2 NAME 'academicTitle'
@@ -120,6 +121,7 @@ objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.4 NAME 'gosaDepartment' SUP top AUXILIA
 
 objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.6 NAME 'gosaAccount' SUP top AUXILIARY
   DESC 'Class for GOsa Accounts (v2.6.6)'
+  OBSOLETE
   MUST ( )
   MAY (
     gosaLoginRestriction $
diff --git a/include/class_acl.inc b/include/class_acl.inc
index 21c00d93fbc39551751d7c678475c697025268e0..b71fd3731f0d2149afaa8568a2a6c735f1589c00 100644
--- a/include/class_acl.inc
+++ b/include/class_acl.inc
@@ -198,7 +198,7 @@ class acl extends plugin
         /* Found entry... */
         if ($ldap->count()) {
           $attrs = $ldap->fetch();
-          if (in_array_ics('gosaAccount', $attrs['objectClass'])) {
+          if (in_array_ics('inetOrgPerson', $attrs['objectClass'])) {
             $a['U:'.$dn] = $attrs['cn'][0].' ['.$attrs['uid'][0].']';
           } elseif (in_array_ics('organizationalRole', $attrs['objectClass'])) {
             $a['R:'.$dn] = $attrs['cn'][0];
diff --git a/include/class_plugin.inc b/include/class_plugin.inc
index 4da8ca8dd0bd7bad39ef10a2d6574dfecf974463..0771fdf4463fb210b5701c993d5490b339d189f9 100644
--- a/include/class_plugin.inc
+++ b/include/class_plugin.inc
@@ -1204,7 +1204,7 @@ class plugin
         maybe we have to update ACL references.
         * TODO : replace this with a call to handleForeignKeys on sub objects
      */
-    $leaf_objs = get_list("(|(objectClass=posixGroup)(objectClass=gosaAccount)(objectClass=gosaRole))", array("all"), $dst_dn,
+    $leaf_objs = get_list("(|(objectClass=posixGroup)(objectClass=inetOrgPerson)(objectClass=gosaRole))", array("all"), $dst_dn,
                           array("dn","objectClass"), GL_SUBSEARCH | GL_NO_ACL_CHECK);
     foreach ($leaf_objs as $obj) {
       $new_dn = $obj['dn'];
diff --git a/include/class_userinfo.inc b/include/class_userinfo.inc
index b35d80a7e3ebc23cc823ac3a4760b9626d6237de..0572936de14e3a5d0bb4c85a4c5c5bd5993a212b 100644
--- a/include/class_userinfo.inc
+++ b/include/class_userinfo.inc
@@ -37,7 +37,6 @@ class userinfo
   var $username;
   var $cn;
   var $uid;
-  var $restrictions = array();
   var $gidNumber    = -1;
   var $language     = "";
   var $config;
@@ -57,7 +56,7 @@ class userinfo
   {
     $this->config = &$config;
     $ldap = $this->config->get_ldap_link();
-    $ldap->cat($userdn, array('sn', 'givenName', 'uid', 'gidNumber', 'preferredLanguage', 'gosaLoginRestriction'));
+    $ldap->cat($userdn, array('sn', 'givenName', 'uid', 'gidNumber', 'preferredLanguage'));
     $attrs = $ldap->fetch();
 
     if (isset($attrs['givenName'][0]) && isset($attrs['sn'][0])) {
@@ -69,12 +68,6 @@ class userinfo
       $this->gidNumber = $attrs['gidNumber'][0];
     }
 
-    /* Restrictions? */
-    if (isset($attrs['gosaLoginRestriction'])) {
-      $this->restrictions = $attrs['gosaLoginRestriction'];
-      unset($this->restrictions['count']);
-    }
-
     /* Assign user language */
     if (isset($attrs['preferredLanguage'][0])) {
       $this->language = $attrs['preferredLanguage'][0];
@@ -817,52 +810,6 @@ class userinfo
     return $this->ignoreACL;
   }
 
-  /*!
-   *  \brief Test if the login is allowed
-   */
-  function loginAllowed()
-  {
-    // Need to check restrictions?
-    if (count($this->restrictions)) {
-
-      // We have restrictions but cannot check them
-      if (!isset($_SERVER['REMOTE_ADDR'])) {
-        return FALSE;
-      }
-
-      // Move to binary...
-      $source = $_SERVER['REMOTE_ADDR'];
-      foreach ($this->restrictions as $restriction) {
-
-        // Single IP
-        if (preg_match('/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/', $restriction)) {
-          if ($source == $restriction) {
-            return TRUE;
-          }
-        }
-
-        // Match with short netmask
-        if (preg_match('/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\/([0-9]+)$/', $restriction, $matches)) {
-          if (isIpInNet($source, $matches[1], long2ip(~(pow(2, (32 - $matches[2])) - 1)))) {
-            return TRUE;
-          }
-        }
-
-        // Match with long netmask
-        if (preg_match('/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$/', $restriction, $matches)) {
-          if (isIpInNet($source, $matches[1], $matches[2])) {
-            return TRUE;
-          }
-        }
-
-      }
-
-      return FALSE;
-    }
-
-    return TRUE;
-  }
-
   /*!
   * \brief Checks the posixAccount status by comparing the shadow attributes.
   *
diff --git a/include/functions.inc b/include/functions.inc
index b2e782000d0129cdbebc05d4e80d592e64d7707d..4b1bd2092997c77ebd3e272784e039b035fc28d0 100644
--- a/include/functions.inc
+++ b/include/functions.inc
@@ -533,7 +533,7 @@ function process_htaccess ($username, $kerberos = FALSE)
           FATAL_ERROR_DIALOG);
       exit();
     }
-    $ldap->search("(&(objectClass=gosaAccount)(|(uid=$username)(userPassword={$mode}$username)))", array("uid"));
+    $ldap->search("(&(objectClass=inetOrgPerson)(|(uid=$username)(userPassword={$mode}$username)))", array("uid"));
 
     /* Found a uniq match? Return it... */
     if ($ldap->count() == 1) {
@@ -569,7 +569,7 @@ function ldap_login_user_htaccess ($username)
         FATAL_ERROR_DIALOG);
     exit();
   }
-  $ldap->search("(&(objectClass=gosaAccount)(uid=$username))", array("uid"));
+  $ldap->search("(&(objectClass=inetOrgPerson)(uid=$username))", array("uid"));
   /* Found no uniq match? Strange, because we did above... */
   if ($ldap->count() != 1) {
     msg_dialog::display(_("LDAP error"), _("Login (uid) is not unique inside the LDAP tree!"), FATAL_ERROR_DIALOG);
@@ -581,12 +581,6 @@ function ldap_login_user_htaccess ($username)
   $ui = new userinfo($config, $ldap->getDN());
   $ui->username = $attrs['uid'][0];
 
-  /* Bail out if we have login restrictions set, for security reasons
-     the message is the same than failed user/pw */
-  if (!$ui->loginAllowed()) {
-    return NULL;
-  }
-
   /* No password check needed - the webserver did it for us */
   $ldap->disconnect();
 
@@ -643,7 +637,7 @@ function ldap_login_user ($username, $password)
   foreach ($verify_attr as $attr) {
     $filter .= "(".$attr."=".$username.")";
   }
-  $filter = "(&(|".$filter.")(objectClass=gosaAccount))";
+  $filter = "(&(|".$filter.")(objectClass=inetOrgPerson))";
   $ldap->search($filter, $tmp);
 
   /* get results, only a count of 1 is valid */
@@ -678,12 +672,6 @@ function ldap_login_user ($username, $password)
   $ui = new userinfo($config, $ldap->getDN());
   $ui->username = $attrs['uid'][0];
 
-  /* Bail out if we have login restrictions set, for security reasons
-     the message is the same than failed user/pw */
-  if (!$ui->loginAllowed()) {
-    return NULL;
-  }
-
   /* password check, bind as user with supplied password  */
   $ldap->disconnect();
   $ldap = new ldapMultiplexer(new LDAP($ui->dn, $password, $config->current['SERVER'],
@@ -2700,13 +2688,6 @@ function check_schema($cfg)
   $checks['gosaObject']['CLASSES_REQUIRED'] = array('gosaObject');
   $checks['gosaObject']['IS_MUST_HAVE']     = TRUE;
 
-  /* FusionDirectory Account class */
-  $checks['gosaAccount']['REQUIRED_VERSION']  = '2.6.6';
-  $checks['gosaAccount']['SCHEMA_FILES']      = array('core-fd.schema');
-  $checks['gosaAccount']['CLASSES_REQUIRED']  = array('gosaAccount');
-  $checks['gosaAccount']['IS_MUST_HAVE']      = TRUE;
-  $checks['gosaAccount']['INFO']              = _('Used to store account specific informations.');
-
   /* FusionDirectory lock entry, used to mark currently edited objects as 'in use' */
   $checks['gosaLockEntry']['REQUIRED_VERSION'] = '2.6.1';
   $checks['gosaLockEntry']['SCHEMA_FILES']     = array('core-fd.schema');
@@ -2715,22 +2696,11 @@ function check_schema($cfg)
   $checks['gosaLockEntry']['INFO']             = _('Used to lock currently edited entries to avoid multiple changes at the same time.');
 
   /* Some other checks */
-  foreach (array(
-        "gosaCacheEntry"        => array("version" => "2.6.1", "class" => "gosaAccount"),
-        "gosaDepartment"        => array("version" => "2.6.1", "class" => "gosaAccount"),
-        "gosaUserTemplate"      => array("version" => "2.6.1", "class" => "posixAccount","file" => "nis.schema"),
-        ) as $name => $values) {
-    $checks[$name] = $def_check;
-    if (isset($values['version'])) {
-      $checks[$name]["REQUIRED_VERSION"] = $values['version'];
-    }
-    if (isset($values['file'])) {
-      $checks[$name]["SCHEMA_FILES"] = array($values['file']);
-    }
-    if (isset($values['class'])) {
-      $checks[$name]["CLASSES_REQUIRED"] = is_array($values['class'])?$values['class']:array($values['class']);
-    }
-  }
+  $checks['gosaUserTemplate']['REQUIRED_VERSION'] = '2.6.1';
+  $checks['gosaUserTemplate']['SCHEMA_FILES']     = array('nis.schema');
+  $checks['gosaUserTemplate']['CLASSES_REQUIRED'] = array('posixAccount');
+  $checks['gosaUserTemplate']['IS_MUST_HAVE']     = FALSE;
+
   foreach ($checks as $name => $value) {
     foreach ($value['CLASSES_REQUIRED'] as $class) {
       if (!isset($objectclasses[$name])) {
diff --git a/include/password-methods/class_password-methods.inc b/include/password-methods/class_password-methods.inc
index 84a78f45171ef81dd96727d26cc9c87a4e61e8fc..80e34dad3ffb8a9ab780ee604be2169d48d959c1 100644
--- a/include/password-methods/class_password-methods.inc
+++ b/include/password-methods/class_password-methods.inc
@@ -108,8 +108,8 @@ class passwordMethod
     return preg_match("/^[^\}]*+\}!/", $pwd);
   }
 
-  /*! \brief       Locks an account (gosaAccount) by added a '!' as prefix to the password hashes.
-   *               This makes logins impossible, due to the fact that the hash becomes invalid.
+  /*! \brief       Locks an account by adding a '!' as prefix to the password hashes.
+   *               This makes login impossible, due to the fact that the hash becomes invalid.
    *               userPassword: {SHA}!q02NKl9IChNwZEAJxzRdmB6E
    *               sambaLMPassword: !EBD223B61F8C259AD3B435B51404EE
    *               sambaNTPassword: !98BB35737013AAF181D0FE9FDA09E
@@ -124,7 +124,7 @@ class passwordMethod
   }
 
   /*!
-   * \brief Unlocks an account (gosaAccount) which was locked by 'lock_account()'.
+   * \brief Unlocks an account which was locked by 'lock_account()'.
    *        For details about the locking mechanism see 'lock_account()'.
    */
   function unlock_account($config, $dn = "")
@@ -133,7 +133,7 @@ class passwordMethod
   }
 
   /*!
-   * \brief Unlocks an account (gosaAccount) which was locked by 'lock_account()'.
+   * \brief Unlocks an account which was locked by 'lock_account()'.
    *        For details about the locking mechanism see 'lock_account()'.
    */
   private function generic_modify_account($config, $dn, $mode)
diff --git a/plugins/addons/dashboard/class_dashBoardUsers.inc b/plugins/addons/dashboard/class_dashBoardUsers.inc
index ec4a74545f243836bc7046ce58c74a4b612d435f..9bfb22314f883684dd8cb4b5df1cd2df7ab5f4b7 100644
--- a/plugins/addons/dashboard/class_dashBoardUsers.inc
+++ b/plugins/addons/dashboard/class_dashBoardUsers.inc
@@ -69,7 +69,7 @@ class dashboardUsers extends simplePlugin
     /* User statistics */
     $ldap = $this->config->get_ldap_link();
     $ldap->cd($this->config->current['BASE']);
-    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaAccount))", array("userPassword"));
+    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=inetOrgPerson))", array("userPassword"));
     $nb_accounts = $ldap->count();
     $nb_locked_accounts = 0;
     while ($attrs = $ldap->fetch()) {
@@ -79,11 +79,11 @@ class dashboardUsers extends simplePlugin
         }
       }
     }
-    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaAccount)(objectClass=gosaMailAccount))", array("cn"));
+    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=inetOrgPerson)(objectClass=gosaMailAccount))", array("cn"));
     $nb_mail_accounts = $ldap->count();
-    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaAccount)(objectClass=posixAccount))", array("cn"));
+    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=inetOrgPerson)(objectClass=posixAccount))", array("cn"));
     $nb_posix_accounts = $ldap->count();
-    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=gosaAccount)(objectClass=sambaSamAccount))", array("cn"));
+    $ldap->search("(&(!(objectClass=gosaUserTemplate))(objectClass=inetOrgPerson)(objectClass=sambaSamAccount))", array("cn"));
     $nb_samba_accounts = $ldap->count();
 
     return array(
diff --git a/plugins/admin/users/user-filter.xml b/plugins/admin/users/user-filter.xml
index f38e2890e53d352039cba39e4227513d087df5d4..bda17f0ffb254c1a4d921cf0cdd5701711c021a9 100644
--- a/plugins/admin/users/user-filter.xml
+++ b/plugins/admin/users/user-filter.xml
@@ -10,7 +10,7 @@
   <search>
     <query>
       <backend>LDAP</backend>
-      <filter>(&amp;$NAME(|(&amp;(objectClass=gosaAccount)(|$FUNCTIONAL$SAMBA$POSIX$MAIL))$TEMPLATES))</filter>
+      <filter>(&amp;$NAME(|(&amp;(objectClass=inetOrgPerson)(|$FUNCTIONAL$SAMBA$POSIX$MAIL))$TEMPLATES))</filter>
       <attribute>dn</attribute>
       <attribute>objectClass</attribute>
       <attribute>givenName</attribute>
@@ -34,7 +34,7 @@
     <alphabet>true</alphabet>
     <autocomplete>
       <backend>LDAP</backend>
-      <filter>(&amp;(objectClass=gosaAccount)(|(cn=*$NAME*)(sn=*$NAME*)(givenName=*$NAME*)(uid=*$NAME*)))</filter>
+      <filter>(&amp;(objectClass=inetOrgPerson)(|(cn=*$NAME*)(sn=*$NAME*)(givenName=*$NAME*)(uid=*$NAME*)))</filter>
       <attribute>cn</attribute>
       <attribute>uid</attribute>
       <frequency>0.5</frequency>
diff --git a/plugins/personal/generic/class_user.inc b/plugins/personal/generic/class_user.inc
index feadb0d3cb4db91dd067719bbe85567579d07d69..c6fad35e4da7ac425e63dd9c1725e165c211ff04 100644
--- a/plugins/personal/generic/class_user.inc
+++ b/plugins/personal/generic/class_user.inc
@@ -199,7 +199,7 @@ class UserPasswordAttribute extends CompositeAttribute
 
 class user extends simplePlugin
 {
-  var $objectclasses  = array('inetOrgPerson','gosaAccount');
+  var $objectclasses  = array('inetOrgPerson');
   var $mainTab        = TRUE;
 
   private $was_locked;
@@ -277,12 +277,6 @@ class user extends simplePlugin
           new UserPasswordAttribute(
             _('Password'), _('Password of the user'),
             'userPassword', FALSE
-          ),
-          new SetAttribute(
-            new IpAttribute(
-              _('Restrict FD login to'), _('The user will only be able to connect to FusionDirectory from these hosts or networks'),
-              'gosaLoginRestriction', FALSE
-            )
           )
         )
       ),
diff --git a/setup/class_setupStep_Migrate.inc b/setup/class_setupStep_Migrate.inc
index 9d5bf00792d2f8735cf94237687de3b84c2d4150..a1da9131aa6df643a34ba72d8d74e6e0d0428c2e 100644
--- a/setup/class_setupStep_Migrate.inc
+++ b/setup/class_setupStep_Migrate.inc
@@ -580,7 +580,7 @@ class Step_Migrate extends setupStep
 
     /* Get all invisible users */
     $ldap->cd($config->current['BASE']);
-    $res = $ldap->search("(&(|(objectClass=posixAccount)(&(objectClass=inetOrgPerson)(objectClass=organizationalPerson))(objectClass=OpenLDAPperson))(!(objectClass=gosaAccount))(!(&(objectClass=Account)(objectClass=sambaSamAccount)))(uid=*))", array("sn","givenName","cn","uid"));
+    $res = $ldap->search("(&(|(objectClass=posixAccount)(objectClass=organizationalPerson)(objectClass=OpenLDAPperson))(!(objectClass=inetOrgPerson))(!(&(objectClass=Account)(objectClass=sambaSamAccount)))(uid=*))", array("sn","givenName","cn","uid"));
 
     while ($attrs = $ldap->fetch()) {
       if (!preg_match("/,dc=addressbook,/", $attrs['dn'])) {
@@ -629,7 +629,7 @@ class Step_Migrate extends setupStep
   {
     return $this->check_multipleGeneric_migrate_confirm(
       $checkobj,
-      array('gosaAccount','inetOrgPerson','organizationalPerson','person'),
+      array('inetOrgPerson','organizationalPerson','person'),
       array(),
       $only_ldif
     );
@@ -747,8 +747,7 @@ class Step_Migrate extends setupStep
 
       /* Collect a list of available FusionDirectory users and groups */
       $users = array();
-      $ldap->search("(&(objectClass=gosaAccount)(objectClass=person)".
-        "(objectClass=inetOrgPerson)(objectClass=organizationalPerson))", array("uid","dn"));
+      $ldap->search('(objectClass=inetOrgPerson)', array('uid','dn'));
       while ($user_attrs = $ldap->fetch()) {
         $users[$user_attrs['dn']] = $user_attrs['uid'][0];
         $rusers[$user_attrs['uid'][0]] = $user_attrs['dn'];
@@ -1088,7 +1087,7 @@ class Step_Migrate extends setupStep
     /***********
      * Search for all users
      ***********/
-    $res = $ldap->search('(&(objectClass=gosaAccount)(!(uid=*$)))', array('dn'));
+    $res = $ldap->search('(&(objectClass=inetOrgPerson)(!(uid=*$)))', array('dn'));
     if (!$res) {
       throw new CheckFailedException(
         _('LDAP query failed'),