diff --git a/lib/SimpleSAML/XHTML/Template.php b/lib/SimpleSAML/XHTML/Template.php
index 77a07c649992516b4a169839fa7d8986f462d09f..3bd52fdc90ee8bbc7726324cdff494ad45841de8 100644
--- a/lib/SimpleSAML/XHTML/Template.php
+++ b/lib/SimpleSAML/XHTML/Template.php
@@ -173,7 +173,11 @@ class SimpleSAML_XHTML_Template
             $templateDirs[] = array($this->module => $this->getModuleTemplateDir($this->module));
         }
         if ($this->theme['module']) {
-            $templateDirs[] = array($this->theme['module'] => $this->getModuleTemplateDir($this->theme['module']));
+            try {
+                $templateDirs[] = array($this->theme['module'] => $this->getModuleTemplateDir($this->theme['module']));
+            } catch (\InvalidArgumentException $e) {
+                // either the module is not enabled or it has no "templates" directory, ignore
+            }
         }
 
         // default, themeless templates are checked last