diff --git a/html/setup.php b/html/setup.php
index a39929fecdd9d526d6f040d444eaf2cbc1ef2aac..11205caa76b2a7314c910b54b963beac2ec84d81 100755
--- a/html/setup.php
+++ b/html/setup.php
@@ -59,7 +59,11 @@ ini_set("session.gc_maxlifetime", 24 * 60 * 60);
 session::start();
 session::set('DEBUGLEVEL', 0);
 
-CSRFProtection::check();
+try {
+  CSRFProtection::check();
+} catch (FusionDirectoryException $e) {
+
+}
 
 /* Attribute initialization, reset errors */
 reset_errors();
@@ -106,10 +110,10 @@ if (!session::is_set('config')) {
   $config = new config('');
   session::set('config', $config);
 }
-$config = session::get('config');
+//$config = session::get('config');
 IconTheme::loadThemes('themes');
 /* Fake user bypassing acl system */
-$ui = new userinfoNoAuth('setup');
+//$ui = new userinfoNoAuth('setup');
 /* Call setup */
 setup::mainInc();
 /**
diff --git a/include/class_ldap.inc b/include/class_ldap.inc
index 13e80573e4b8d57712c326ac97b50710ee14b987..5bde7ed04a0d197dc74ee87ab61b90e648194e62 100755
--- a/include/class_ldap.inc
+++ b/include/class_ldap.inc
@@ -607,7 +607,7 @@ class LDAP
   function count ($srp)
   {
     if ($this->hascon) {
-      if ($this->hasres[$srp] && !is_bool($this->start[$srp])) {
+      if ($this->hasres[$srp] && !is_bool($this->hasres[$srp])) {
         $rv = @ldap_count_entries($this->cid, $this->sr[$srp]);
         $this->error = @ldap_error($this->cid);
         logging::debug(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $this->error, 'count()');
diff --git a/setup/class_setupStepChecks.inc b/setup/class_setupStepChecks.inc
index 9c48022d88a1c9a1c68435a9801fd6a1f22d2919..f1182ee091d78d976dbd96d65237a87a74de7f66 100755
--- a/setup/class_setupStepChecks.inc
+++ b/setup/class_setupStepChecks.inc
@@ -200,8 +200,6 @@ class setupStepChecks extends setupStep
 
   public function update (): bool
   {
-    parent::update();
-
     $this->run_checks();
 
     /* If everything is fine, set this step to completed
diff --git a/setup/class_setupStepFinish.inc b/setup/class_setupStepFinish.inc
index 14d3e81ca7414d240718c4515eab1cafe228c9c2..35adfaf1e8ae77d9f2f2560155b1c12a416b8a5a 100755
--- a/setup/class_setupStepFinish.inc
+++ b/setup/class_setupStepFinish.inc
@@ -54,8 +54,6 @@ class setupStepFinish extends setupStep
 
   public function readPost ()
   {
-    parent::readPost();
-
     $exists = file_exists(CONFIG_DIR.'/'.CONFIG_FILE);
 
     /* Redirect to FusionDirectory login, if :
diff --git a/setup/class_setupStepLanguage.inc b/setup/class_setupStepLanguage.inc
index 9ef9a9323682cfe94a68d1027fd99860fc957744..11ed5243672f2b6b210c88d37d464901f1438003 100755
--- a/setup/class_setupStepLanguage.inc
+++ b/setup/class_setupStepLanguage.inc
@@ -64,7 +64,6 @@ class setupStepLanguage extends setupStep
 
   public function update (): bool
   {
-    parent::update();
     $this->is_completed   = TRUE;
 
     if ($this->lang_selected != '') {
diff --git a/setup/class_setupStepLdap.inc b/setup/class_setupStepLdap.inc
index fa73de09630bbe1f96a0cc3f459e12cd67b83b78..3e0116d3f694b48b926d5954b9de6adaa374a183 100755
--- a/setup/class_setupStepLdap.inc
+++ b/setup/class_setupStepLdap.inc
@@ -137,7 +137,6 @@ class setupStepLdap extends setupStep
 
   public function update (): bool
   {
-    parent::update();
     $this->connection = preg_replace('/\/$/', '', $this->connection);
     if (($this->base != $this->lastBase) || ($this->connection != $this->lastConnection)) {
       $this->parent->disable_steps_from(($this->parent->step_name_to_id(static::class)) + 1);
@@ -204,7 +203,7 @@ class setupStepLdap extends setupStep
 
   function check (): array
   {
-    $errors = parent::check();
+    $errors = null;
     if (!empty($errors)) {
       $this->update_base_choices();
     } elseif ($this->is_completed) {
diff --git a/setup/class_setupStepMigrate.inc b/setup/class_setupStepMigrate.inc
index 54af3a95b4810ba4eebee960487be7c0107b4fe7..2a54ac02d5f8778c4eca106030e95d4222601a35 100755
--- a/setup/class_setupStepMigrate.inc
+++ b/setup/class_setupStepMigrate.inc
@@ -47,12 +47,9 @@ array_to_ldif               - Create ldif output of an ldap result array
 
 class CheckFailedException extends FusionDirectoryException
 {
-  private $error;
-
-  public function __construct ($msg, $error)
+  public function __construct ($msg, private $error)
   {
     parent::__construct($msg);
-    $this->error = $error;
   }
 
   public function getError ()
@@ -66,15 +63,8 @@ class StepMigrateDialog implements FusionDirectoryDialog
   protected $post_cancel = 'dialog_cancel';
   protected $post_finish = 'dialog_confirm';
 
-  private $infos;
-  private $tplfile;
-  private $check;
-
-  public function __construct (&$check, $tpl, $infos)
+  public function __construct(private $check, private $tplfile, private $infos)
   {
-    $this->infos      = $infos;
-    $this->tplfile    = $tpl;
-    $this->check      = $check;
   }
 
   public function readPost ()
@@ -129,14 +119,12 @@ class StepMigrateCheck
   public $msg     = '';
   public $error   = '';
   public $fnc;
-  private $step;
 
-  public function __construct (setupStepMigrate $step, string $name, string $title)
+  public function __construct (private readonly setupStepMigrate $step, string $name, string $title)
   {
     $this->name   = $name;
     $this->title  = $title;
     $this->fnc    = 'check_'.$name;
-    $this->step   = $step;
   }
 
   public function run ($fnc = NULL)
@@ -321,7 +309,6 @@ class setupStepMigrate extends setupStep
       set_time_limit(180);
     }
     $this->is_completed = TRUE;
-    parent::readPost();
     if (isset($_POST['reload'])) {
       $this->checks = [];
     }
diff --git a/setup/class_setupStepWelcome.inc b/setup/class_setupStepWelcome.inc
index aa563dfd6c9fee4c5d35ea930f65efbcee4ddfd7..94ddfcba340bc78514b2bf4248ed969f82429a50 100755
--- a/setup/class_setupStepWelcome.inc
+++ b/setup/class_setupStepWelcome.inc
@@ -54,8 +54,6 @@ class setupStepWelcome extends setupStep
 
   public function update (): bool
   {
-    parent::update();
-
     $id = '';
 
     /* Get auth ID from file */