diff --git a/modules/saml/lib/Auth/Process/FilterScopes.php b/modules/saml/lib/Auth/Process/FilterScopes.php
index f6c0a8f92ba44b20f4428fd53258f6409509fb65..aea28ae3e516d5bf977ca73b06cb9a15a870c486 100644
--- a/modules/saml/lib/Auth/Process/FilterScopes.php
+++ b/modules/saml/lib/Auth/Process/FilterScopes.php
@@ -66,12 +66,12 @@ class FilterScopes extends ProcessingFilter
             $values = $request['Attributes'][$attribute];
             $newValues = [];
             foreach ($values as $value) {
-                $value_a = explode('@', $value, 2);
-                if (count($value_a) < 2) {
+                list(, $scope) = explode('@', $value, 2);
+                if ($scope === null) {
                     $newValues[] = $value;
                     continue; // there's no scope
                 }
-                $scope = $value_a[1];
+
                 if (in_array($scope, $validScopes, true)) {
                     $newValues[] = $value;
                 } elseif (strpos($host, $scope) === strlen($host) - strlen($scope)) {