diff --git a/lib/_autoload_modules.php b/lib/_autoload_modules.php
index 27c3bc89f35ce2e2fd15c7f7d930b884946712cb..a8e04707b03d73208ea28dc00d50775d17b5267b 100644
--- a/lib/_autoload_modules.php
+++ b/lib/_autoload_modules.php
@@ -87,9 +87,22 @@ function sspmodAutoloadPSR0($className)
         return;
     }
 
-    $modNameEnd = strpos($className, '_', $modulePrefixLength);
-    $module = substr($className, $modulePrefixLength, $modNameEnd - $modulePrefixLength);
-    $path = explode('_', substr($className, $modNameEnd + 1));
+    // list of classes that have been renamed or moved
+    $renamed = [
+        'sspmod_adfs_SAML2_XML_fed_Const' => [
+            'module' => 'adfs',
+            'path' => ['SAML2', 'XML', 'fed', 'Constants']
+        ],
+    ];
+    if (array_key_exists($className, $renamed)) {
+        // the class has been renamed, try to load it and create an alias
+        $module = $renamed[$className]['module'];
+        $path = $renamed[$className]['path'];
+    } else {
+        $modNameEnd = strpos($className, '_', $modulePrefixLength);
+        $module = substr($className, $modulePrefixLength, $modNameEnd - $modulePrefixLength);
+        $path = explode('_', substr($className, $modNameEnd + 1));
+    }
 
     if (!\SimpleSAML\Module::isModuleEnabled($module)) {
         return;