diff --git a/lib/SAML2/Utils.php b/lib/SAML2/Utils.php
index 164c31a1e62b6a517cb5e95224400b60c401eb06..84bfa347b4dad42992f30f2bfaebefa2b7ae7ab8 100644
--- a/lib/SAML2/Utils.php
+++ b/lib/SAML2/Utils.php
@@ -176,13 +176,13 @@ class SAML2_Utils {
 		$xml = $node->ownerDocument->createElementNS(SAML2_Const::NS_SAML, 'saml:NameID');
 		$node->appendChild($xml);
 
-		if (array_key_exists('NameQualifier', $nameId)) {
+		if (array_key_exists('NameQualifier', $nameId) && $nameId['NameQualifier'] !== NULL) {
 			$xml->setAttribute('NameQualifier', $nameId['NameQualifier']);
 		}
-		if (array_key_exists('SPNameQualifier', $nameId)) {
+		if (array_key_exists('SPNameQualifier', $nameId) && $nameId['SPNameQualifier'] !== NULL) {
 			$xml->setAttribute('SPNameQualifier', $nameId['SPNameQualifier']);
 		}
-		if (array_key_exists('Format', $nameId)) {
+		if (array_key_exists('Format', $nameId) && $nameId['Format'] !== NULL) {
 			$xml->setAttribute('Format', $nameId['Format']);
 		}