diff --git a/lib/SimpleSAML/Utilities.php b/lib/SimpleSAML/Utilities.php
index 4003f4437f0cceb59ee8ae46a31819e84403dfa6..0a455ac87a90b5638bf43a110e8fe19f761278a8 100644
--- a/lib/SimpleSAML/Utilities.php
+++ b/lib/SimpleSAML/Utilities.php
@@ -1360,25 +1360,10 @@ class SimpleSAML_Utilities {
 
 
 	/**
-	 * Require admin access for current page.
-	 *
-	 * This is a helper-function for limiting a page to admin access. It will redirect
-	 * the user to a login page if the current user doesn't have admin access.
+	 * @deprecated This function will be removed in SSP 2.0. Please use SimpleSAML_Utils_Auth::requireAdmin() instead.
 	 */
 	public static function requireAdmin() {
-
-		if (SimpleSAML_Utils_Auth::isAdmin()) {
-			return;
-		}
-
-		/* Not authenticated as admin user. Start authentication. */
-
-		if (SimpleSAML_Auth_Source::getById('admin') !== NULL) {
-			$as = new SimpleSAML_Auth_Simple('admin');
-			$as->login();
-		} else {
-			throw new Exception('Cannot find "admin" auth source, and admin privileges are required.');
-		}
+		return SimpleSAML_Utils_Auth::requireAdmin();
 	}
 
 
diff --git a/lib/SimpleSAML/Utils/Auth.php b/lib/SimpleSAML/Utils/Auth.php
index 439daa1339ff19f3e2d0909e073d21e5ff308259..d9575c018b1195e7335756bdd22ac4967a2d1cc9 100644
--- a/lib/SimpleSAML/Utils/Auth.php
+++ b/lib/SimpleSAML/Utils/Auth.php
@@ -21,4 +21,31 @@ class SimpleSAML_Utils_Auth
         $session = SimpleSAML_Session::getSessionFromRequest();
         return $session->isValid('admin') || $session->isValid('login-admin');
     }
+
+    /**
+     * Require admin access to the current page.
+     *
+     * This is a helper function for limiting a page to those with administrative access. It will redirect the user to
+     * a login page if the current user doesn't have admin access.
+     *
+     * @return void This function will only return if the user is admin.
+     * @throws SimpleSAML_Error_Exception If no "admin" authentication source was configured.
+     *
+     * @author Olav Morken, UNINETT AS <olav.morken@uninett.no>
+     * @author Jaime Perez, UNINETT AS <jaime.perez@uninett.no>
+     */
+    public static function requireAdmin()
+    {
+        if (SimpleSAML_Utils_Auth::isAdmin()) {
+            return;
+        }
+
+        // not authenticated as admin user, start authentication
+        if (SimpleSAML_Auth_Source::getById('admin') !== null) {
+            $as = new SimpleSAML_Auth_Simple('admin');
+            $as->login();
+        } else {
+            throw new SimpleSAML_Error_Exception('Cannot find "admin" auth source, and admin privileges are required.');
+        }
+    }
 }
\ No newline at end of file
diff --git a/modules/adfs/www/idp/metadata.php b/modules/adfs/www/idp/metadata.php
index 40ddfa5478b833da999920a343c9c5b63b96b08e..34c6ad8c76d296731b748b309ae94fa1ad93c104 100644
--- a/modules/adfs/www/idp/metadata.php
+++ b/modules/adfs/www/idp/metadata.php
@@ -9,7 +9,7 @@ if (!$config->getBoolean('enable.adfs-idp', false))
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectmetadata', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 
 
diff --git a/modules/core/www/frontpage_auth.php b/modules/core/www/frontpage_auth.php
index 2db5dc0b59f2aee20881b830edd4684ed0a4593d..324867ef70925a9758f262dc89d6d7edc9482ebd 100644
--- a/modules/core/www/frontpage_auth.php
+++ b/modules/core/www/frontpage_auth.php
@@ -7,7 +7,7 @@ $session = SimpleSAML_Session::getSessionFromRequest();
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectindexpage', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
 $isadmin = SimpleSAML_Utils_Auth::isAdmin();
diff --git a/modules/core/www/frontpage_config.php b/modules/core/www/frontpage_config.php
index eee1fa639b1c8f25660897595a320839617f0fce..ee9dbc1d4017fea9cd2e4afec170ac1dc63ea595 100644
--- a/modules/core/www/frontpage_config.php
+++ b/modules/core/www/frontpage_config.php
@@ -8,7 +8,7 @@ $session = SimpleSAML_Session::getSessionFromRequest();
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectindexpage', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
 $isadmin = SimpleSAML_Utils_Auth::isAdmin();
diff --git a/modules/core/www/frontpage_federation.php b/modules/core/www/frontpage_federation.php
index 02f6d9eaff9813a63727758fb313b8a8e41510de..e640f218892b3b70f8008212fc57785ece192c0d 100644
--- a/modules/core/www/frontpage_federation.php
+++ b/modules/core/www/frontpage_federation.php
@@ -8,7 +8,7 @@ $session = SimpleSAML_Session::getSessionFromRequest();
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectindexpage', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
 $isadmin = SimpleSAML_Utils_Auth::isAdmin();
diff --git a/modules/core/www/frontpage_welcome.php b/modules/core/www/frontpage_welcome.php
index 1bea6471d10835a8b4ce8416687b9c2e1712050e..95818c467238d4c061e9b4a5f5e432fe097f13f6 100644
--- a/modules/core/www/frontpage_welcome.php
+++ b/modules/core/www/frontpage_welcome.php
@@ -7,7 +7,7 @@ $session = SimpleSAML_Session::getSessionFromRequest();
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectindexpage', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 $loginurl = SimpleSAML_Utilities::getAdminLoginURL();
 $isadmin = SimpleSAML_Utils_Auth::isAdmin();
diff --git a/modules/core/www/login-admin.php b/modules/core/www/login-admin.php
index 3e6438f3ea10e3b2dea80fb3da1ea30d3c6a48c9..bab9b0c5571f72497b09bff5b7e511f5afd92486 100644
--- a/modules/core/www/login-admin.php
+++ b/modules/core/www/login-admin.php
@@ -7,7 +7,7 @@ if (!array_key_exists('ReturnTo', $_REQUEST)) {
 	throw new SimpleSAML_Error_BadRequest('Missing ReturnTo parameter.');
 }
 
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 SimpleSAML_Utilities::redirectUntrustedURL($_REQUEST['ReturnTo']);
 
diff --git a/modules/core/www/show_metadata.php b/modules/core/www/show_metadata.php
index b2e9d96fb83cbc65247c7b6f5e7c5dde9961becc..9edfa4e3120e89e06724158fbda575c31b2abfef 100644
--- a/modules/core/www/show_metadata.php
+++ b/modules/core/www/show_metadata.php
@@ -6,7 +6,7 @@
 $config = SimpleSAML_Configuration::getInstance();
 $session = SimpleSAML_Session::getSessionFromRequest();
 
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 
 if (!array_key_exists('entityid', $_REQUEST))
diff --git a/modules/cron/www/croninfo.php b/modules/cron/www/croninfo.php
index 6be04ebf6a38ce94f3560b45bb5ede7be89f4448..192576772879931fb9867d86f3a917da8aab2ca2 100644
--- a/modules/cron/www/croninfo.php
+++ b/modules/cron/www/croninfo.php
@@ -11,7 +11,7 @@ require_once('_include.php');
 $config = SimpleSAML_Configuration::getInstance();
 $session = SimpleSAML_Session::getSessionFromRequest();
 
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 $cronconfig = SimpleSAML_Configuration::getConfig('module_cron.php');
 
diff --git a/modules/logpeek/www/index.php b/modules/logpeek/www/index.php
index 9c763571ebb1c3ad07fa40475cb248fe7d39a66f..6336e6cb172f1e2366dc2bbf7104a28be7344234 100644
--- a/modules/logpeek/www/index.php
+++ b/modules/logpeek/www/index.php
@@ -21,7 +21,7 @@ function logFilter($objFile, $tag, $cut){
 $config = SimpleSAML_Configuration::getInstance();
 $session = SimpleSAML_Session::getSessionFromRequest();
 
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 $logpeekconfig = SimpleSAML_Configuration::getConfig('module_logpeek.php');
 $logfile = $logpeekconfig->getValue('logfile', '/var/simplesamlphp.log');
diff --git a/modules/memcacheMonitor/www/memcachestat.php b/modules/memcacheMonitor/www/memcachestat.php
index 40a2efa45b459c1c73115a55f7cbb10909d2dc1b..76a0590278c7ba0dfbfcc09bc7c8152c034cd757 100644
--- a/modules/memcacheMonitor/www/memcachestat.php
+++ b/modules/memcacheMonitor/www/memcachestat.php
@@ -75,7 +75,7 @@ function humanreadable($input) {
 $config = SimpleSAML_Configuration::getInstance();
 
 /* Make sure that the user has admin access rights. */
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 
 $formats = array(
diff --git a/modules/metarefresh/www/fetch.php b/modules/metarefresh/www/fetch.php
index a2739b85d0a87f40dfb445a375102955acebd2e0..70fc6657c3dd6af36910de2175cbdbbc8f215f82 100644
--- a/modules/metarefresh/www/fetch.php
+++ b/modules/metarefresh/www/fetch.php
@@ -3,7 +3,7 @@
 $config = SimpleSAML_Configuration::getInstance();
 $mconfig = SimpleSAML_Configuration::getOptionalConfig('config-metarefresh.php');
 
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 SimpleSAML_Logger::setCaptureLog(TRUE);
 
diff --git a/modules/saml/www/idp/certs.php b/modules/saml/www/idp/certs.php
index 5db029c503b754582957f139f227d534d5b5e81e..77a5074e4f8bb00974d0c355ce93104d3d186bdb 100644
--- a/modules/saml/www/idp/certs.php
+++ b/modules/saml/www/idp/certs.php
@@ -9,7 +9,7 @@ if (!$config->getBoolean('enable.saml20-idp', false))
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectmetadata', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 
 $idpentityid = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted');
diff --git a/modules/saml/www/sp/metadata.php b/modules/saml/www/sp/metadata.php
index 72d2cdd664ad0e5c9b45271aecfcd2d616980aa7..e7267bbefa72d2016a993f3a84434bc1413ba3b9 100644
--- a/modules/saml/www/sp/metadata.php
+++ b/modules/saml/www/sp/metadata.php
@@ -6,7 +6,7 @@ if (!array_key_exists('PATH_INFO', $_SERVER)) {
 
 $config = SimpleSAML_Configuration::getInstance();
 if ($config->getBoolean('admin.protectmetadata', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 $sourceId = substr($_SERVER['PATH_INFO'], 1);
 $source = SimpleSAML_Auth_Source::getById($sourceId);
diff --git a/modules/statistics/lib/AccessCheck.php b/modules/statistics/lib/AccessCheck.php
index e30f883ee1d7c71a63e58058ac5e31eaf5c4c2c8..794bc01918e5d80b09548d51810aef55fb36a9d9 100644
--- a/modules/statistics/lib/AccessCheck.php
+++ b/modules/statistics/lib/AccessCheck.php
@@ -36,7 +36,7 @@ class sspmod_statistics_AccessCheck {
 
 		if (!isset($authsource)) {
 			// If authsource is not defined, init admin login.
-			SimpleSAML_Utilities::requireAdmin();
+            SimpleSAML_Utils_Auth::requireAdmin();
 		}
 
 		/* We are using an authsource for login. */
diff --git a/www/admin/hostnames.php b/www/admin/hostnames.php
index f2a65928cbf5552dc2baa74b10b5a00a43a20bc9..cc6a4511f840876366fc312743c5c001662d8de1 100644
--- a/www/admin/hostnames.php
+++ b/www/admin/hostnames.php
@@ -7,7 +7,7 @@ $config = SimpleSAML_Configuration::getInstance();
 $session = SimpleSAML_Session::getSessionFromRequest();
 
 /* Check if valid local session exists.. */
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 $attributes = array();
 
diff --git a/www/admin/metadata-converter.php b/www/admin/metadata-converter.php
index dc447e3a63c2fabd8fd565f2ebe60dc50fe68bd2..5b2e2acca457fd722a86dae09675252f0699f53a 100644
--- a/www/admin/metadata-converter.php
+++ b/www/admin/metadata-converter.php
@@ -3,7 +3,7 @@
 require_once('../_include.php');
 
 /* Make sure that the user has admin access rights. */
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 $config = SimpleSAML_Configuration::getInstance();
 
diff --git a/www/admin/phpinfo.php b/www/admin/phpinfo.php
index 64d2dbffab6562ea15dd75fdefda3cbd744c4b40..8688389bc0d566bb611ba222b623fc99f704a14f 100644
--- a/www/admin/phpinfo.php
+++ b/www/admin/phpinfo.php
@@ -3,6 +3,6 @@
 require_once('../_include.php');
 
 /* Make sure that the user has admin access rights. */
-SimpleSAML_Utilities::requireAdmin();
+SimpleSAML_Utils_Auth::requireAdmin();
 
 phpinfo();
diff --git a/www/saml2/idp/metadata.php b/www/saml2/idp/metadata.php
index 2707adae6e40a26202bfd240d9c1bca057584de2..d7411d9590ef95b700b164111200ccbc4d0c0e4d 100644
--- a/www/saml2/idp/metadata.php
+++ b/www/saml2/idp/metadata.php
@@ -11,7 +11,7 @@ if (!$config->getBoolean('enable.saml20-idp', false))
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectmetadata', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }
 
 
diff --git a/www/shib13/idp/metadata.php b/www/shib13/idp/metadata.php
index ee35c6f6f8c0ee12eabf65efd50e22b8e0a6f684..8b2c94bac40a6983d2efa186466df227e3a2b300 100644
--- a/www/shib13/idp/metadata.php
+++ b/www/shib13/idp/metadata.php
@@ -11,7 +11,7 @@ if (!$config->getBoolean('enable.shib13-idp', false))
 
 /* Check if valid local session exists.. */
 if ($config->getBoolean('admin.protectmetadata', false)) {
-	SimpleSAML_Utilities::requireAdmin();
+    SimpleSAML_Utils_Auth::requireAdmin();
 }