diff --git a/html/main.php b/html/main.php
index dc5077ae1cd5d6f54f4b764cd060b0e4333b0844..cd0981240952d0458c5b0fd6c7f2894c979b23ce 100644
--- a/html/main.php
+++ b/html/main.php
@@ -105,7 +105,7 @@ if (!session::global_is_set('CurrentMainBase')) {
 Language::init();
 
 /* Prepare plugin list */
-$plist = load_plist();
+pluglist::load();
 
 /* Check for register globals */
 if (isset($global_check) && $config->get_cfg_value("forceglobals") == "TRUE") {
diff --git a/include/class_Language.inc b/include/class_Language.inc
index 5790aa99ba3e8b4884ab45cf29cd36130260ad6f..d98faf2a9f82b20c3ee5a0696036100c323f80ef 100644
--- a/include/class_Language.inc
+++ b/include/class_Language.inc
@@ -74,7 +74,7 @@ class Language
         }
         session::global_un_set('plist');
         session::global_set('lang', $lang);
-        load_plist();
+        pluglist::load();
       }
     }
 
diff --git a/include/class_pluglist.inc b/include/class_pluglist.inc
index 9bda4a6581f659204097734c5fc448df709e1937..a86840ba4c85f23007efe5fb9623c3696845c098 100644
--- a/include/class_pluglist.inc
+++ b/include/class_pluglist.inc
@@ -510,5 +510,26 @@ class pluglist {
       trigger_error('plist not loaded yet');
     }
   }
+
+  /*!
+   * \brief Loads plist and load it in config object
+   */
+  static function load($ldap_available = TRUE)
+  {
+    global $config, $plist;
+    if (!session::global_is_set('plist')) {
+      /* Initially load all classes */
+      load_all_classes();
+
+      $plist = new pluglist();
+      session::global_set('plist', $plist);
+      $config->loadPlist($plist);
+      if ($ldap_available) {
+        $config->get_departments();
+        $config->make_idepartments();
+      }
+    }
+    return session::global_get('plist');
+  }
 }
 ?>
diff --git a/include/class_standAlonePage.inc b/include/class_standAlonePage.inc
index f1b9f1a5c68479e44a94091b06735acde0b17c15..ad7ddc7ef3e9a5ef0e1287fcf5c41962e7c9fcd5 100644
--- a/include/class_standAlonePage.inc
+++ b/include/class_standAlonePage.inc
@@ -98,7 +98,7 @@ class standAlonePage {
         session::global_un_set('plist');
       }
       $ui = new userinfoNoAuth(get_class($this));
-      load_plist();
+      pluglist::load();
 
       $ssl = $this->checkForSSL();
     }
diff --git a/include/functions.inc b/include/functions.inc
index 1baaf66293493e0efad59d4f2f46b3638bdea86c..b40f45afeaae23fdc805da62ab4df63a0593ba6e 100644
--- a/include/functions.inc
+++ b/include/functions.inc
@@ -154,27 +154,6 @@ function plugin_available($plugin)
   }
 }
 
-/*!
- * \brief Loads plist and load it in config object
- */
-function load_plist ($ldap_available = TRUE)
-{
-  global $config, $plist;
-  if (!session::global_is_set('plist')) {
-    /* Initially load all classes */
-    load_all_classes();
-
-    $plist = new pluglist();
-    session::global_set('plist', $plist);
-    $config->loadPlist($plist);
-    if ($ldap_available) {
-      $config->get_departments();
-      $config->make_idepartments();
-    }
-  }
-  return session::global_get('plist');
-}
-
 /*!
  * \brief Debug level action
  *
diff --git a/include/login/class_LoginMethod.inc b/include/login/class_LoginMethod.inc
index 58944e12bcf6d9bb67b39f4483ca7c300a13830b..cb3d2df2175618674879118a3b235faa8cb00ad2 100644
--- a/include/login/class_LoginMethod.inc
+++ b/include/login/class_LoginMethod.inc
@@ -126,7 +126,7 @@ class LoginMethod
     if (!$plistReloaded) {
       session::global_un_set('plist');
     }
-    $plist = load_plist();
+    pluglist::load();
 
     /* Check that newly installed plugins have their configuration in the LDAP (will reload plist if needed) */
     $config->checkLdapConfig();
diff --git a/plugins/config/tabs_configInLdap.inc b/plugins/config/tabs_configInLdap.inc
index 2d39f26c4aa1f6c7cc9aa5e8c9a8d50781d34dc8..19fdffc54575a1613a42caa365cf8338abf6e2bd 100644
--- a/plugins/config/tabs_configInLdap.inc
+++ b/plugins/config/tabs_configInLdap.inc
@@ -28,7 +28,7 @@ class tabs_configInLdap extends simpleTabs_noSpecial
     $config->check_and_reload(TRUE);
     /* reload plist as well as some plInfo might use $config or get_ou */
     session::global_un_set('plist');
-    load_plist();
+    pluglist::load();
     session::un_set('passwordMethod::get_available_methods');
 
     return $errors;
diff --git a/setup/class_setup.inc b/setup/class_setup.inc
index 57aa7c7070a40e6135b07f9715ba0f036b336ab1..9d50e549d24708d39939b3320c57d83a1c110584 100644
--- a/setup/class_setup.inc
+++ b/setup/class_setup.inc
@@ -276,7 +276,7 @@ class setup
     $config->parse_data($xml);
     $config->set_current($config->data['MAIN']['DEFAULT']);
     session::global_un_set('plist');
-    load_plist();
+    pluglist::load();
     $this->reBuildConfigStep();
   }
 
diff --git a/setup/class_setupStepConfig.inc b/setup/class_setupStepConfig.inc
index 00f9d963a0558aee469b86d7140cc323fe891a5c..7a012d5e9b352df6cf5bdeda8d1c9b771f89fdb5 100644
--- a/setup/class_setupStepConfig.inc
+++ b/setup/class_setupStepConfig.inc
@@ -119,7 +119,7 @@ class setupStepConfig extends configInLdap
       /* Reload config from LDAP */
       $config->set_current($config->current['NAME']);
       session::global_un_set('plist');
-      load_plist();
+      pluglist::load();
       $this->is_completed = TRUE;
       $this->parent->reBuildConfigStep(TRUE);
     }