diff --git a/setup/class_setupStep_Ldap.inc b/setup/class_setupStep_Ldap.inc
index 05ec191e55887ce3ea0067ecdceeb4e015cbdd5c..b878e879d59bb9ce19c424f740a7a543f806217c 100644
--- a/setup/class_setupStep_Ldap.inc
+++ b/setup/class_setupStep_Ldap.inc
@@ -185,7 +185,7 @@ class Step_Ldap extends setupStep
     } elseif ($this->is_completed) {
       $checked  = check_schema($this->parent->captured_values, "NO RFC CHECK");
       $error    = array();
-      foreach ($this->checked as $check) {
+      foreach ($checked as $check) {
         if (!$check['STATUS']) {
           $error[] = $check['MSG'];
         }
diff --git a/setup/class_setupStep_Migrate.inc b/setup/class_setupStep_Migrate.inc
index 139cf8f417fb866fa603603cb109d0365c485331..bd4db9cc8ed9bc758c091350b1933fcc247f5e6c 100644
--- a/setup/class_setupStep_Migrate.inc
+++ b/setup/class_setupStep_Migrate.inc
@@ -362,7 +362,7 @@ class Step_Migrate extends setup_step
     $this->outside_groups = array();
     $this->groups_list = array();;
     while ($attrs = $ldap->fetch()) {
-      $group_db_base = preg_replace("/^[^,]+,".preg_quote($group_ou, '/')."+/i", "", $attrs['dn']);
+      $group_db_base = preg_replace("/^[^,]+,".preg_quote($group_ou, '/')."/i", "", $attrs['dn']);
 
       /* Check if entry is not an addressbook only user
        *  and verify that he is in a valid department
@@ -1049,12 +1049,14 @@ class Step_Migrate extends setup_step
     /* Get collected configuration settings */
     $ldap = $config->get_ldap_link();
 
+    $ldap->cd($config->current['BASE']);
     $ldap->search("(&(objectClass=gosaRole)(gosaAclTemplate=*:all;cmdrw))", array('dn'));
     if ($attrs = $ldap->fetch()) {
       $roledn = $attrs['dn'];
     } else {
       $roledn = 'cn=admin,'.get_ou('aclRoleRDN').$config->current['BASE'];
       if (!$only_ldif) {
+        $ldap->cd($config->current['BASE']);
         $ldap->create_missing_trees(get_ou('aclRoleRDN').$config->current['BASE']);
         $ldap->cd($roledn);
         $attrs_role = array(
@@ -2051,6 +2053,7 @@ class Step_Migrate extends setup_step
      * Get all valid ous, create one if necessary
      ************/
     if (!empty($ou)) {
+      $ldap->cd($config->current['BASE']);
       $ldap->search("($ou)", array('dn'));
       if ($ldap->count() == 0 ) {
         $ldap->create_missing_trees($ou.','.$config->current['BASE']);