diff --git a/modules/saml/lib/IdP/SAML2.php b/modules/saml/lib/IdP/SAML2.php
index e7615a950f36a61dd803a0552f0e6df4a0c668ef..f7b45d1d1db9f25821afc6841ef9f0fe77640bc2 100644
--- a/modules/saml/lib/IdP/SAML2.php
+++ b/modules/saml/lib/IdP/SAML2.php
@@ -684,6 +684,12 @@ class sspmod_saml_IdP_SAML2 {
 			}
 
 			foreach ($values as $value) {
+                // allow null values
+                if ($value === null) {
+                    $ret[$name][] = $value;
+                    continue;
+                }
+
 				switch ($encoding) {
 				case 'string':
 					$value = (string)$value;