diff --git a/src/xslt/pica/mods.xsl b/src/xslt/pica/mods.xsl
index 9978af7f7b08f7621ae94c4c7ebbee6dccd07892..24df683dbb311e3820af6471d8a59988382463e6 100644
--- a/src/xslt/pica/mods.xsl
+++ b/src/xslt/pica/mods.xsl
@@ -307,7 +307,7 @@
         </xsl:if>
       </mods:relatedItem>
     </xsl:if>
-    
+
   </xsl:template>
 
   <xsl:template name="make-titleInfo">
@@ -436,16 +436,40 @@
         </xsl:choose>
       </xsl:if>
 
-      <xsl:if test="pica:subfield[@code = ('a', 'A')][1]">
+      <xsl:variable name="familyName">
+        <xsl:choose>
+          <xsl:when test="pica:subfield[@code = 'a']">
+            <xsl:value-of select="pica:subfield[@code = 'a'][1]"/>
+          </xsl:when>
+          <xsl:when test="pica:subfield[@code = 'A']">
+            <xsl:value-of select="pica:subfield[@code = 'A'][1]"/>
+          </xsl:when>
+        </xsl:choose>
+      </xsl:variable>
+
+      <xsl:variable name="givenName">
+        <xsl:choose>
+          <xsl:when test="pica:subfield[@code = 'd']">
+            <xsl:value-of select="pica:subfield[@code = 'd'][1]"/>
+          </xsl:when>
+          <xsl:when test="pica:subfield[@code = 'D']">
+            <xsl:value-of select="pica:subfield[@code = 'D'][1]"/>
+          </xsl:when>
+        </xsl:choose>
+      </xsl:variable>
+
+      <xsl:if test="normalize-space($familyName)">
         <mods:namePart type="family">
-          <xsl:value-of select="pica:subfield[@code = ('a', 'A')][1]"/>
+          <xsl:value-of select="normalize-space($familyName)"/>
         </mods:namePart>
       </xsl:if>
-      <xsl:if test="pica:subfield[@code = ('d', 'D')][1]">
+
+      <xsl:if test="normalize-space($givenName)">
         <mods:namePart type="given">
-          <xsl:value-of select="pica:subfield[@code = ('d', 'D')][1]"/>
+          <xsl:value-of select="normalize-space($givenName)"/>
         </mods:namePart>
       </xsl:if>
+
       <xsl:if test="pica:subfield[@code = 'h']">
         <mods:namePart type="date">
           <xsl:value-of select="pica:subfield[@code = 'h']"/>
@@ -461,11 +485,11 @@
           <xsl:when test="pica:subfield[@code = '8']">
             <xsl:value-of select="pica:subfield[@code = '8']"/>
           </xsl:when>
-          <xsl:when test="pica:subfield[@code = ('a', 'A')] and pica:subfield[@code = ('d', 'D')]">
-            <xsl:value-of select="concat(pica:subfield[@code = ('d', 'D')][1], ', ', pica:subfield[@code = ('a', 'A')][1])"/>
+          <xsl:when test="normalize-space($familyName) and normalize-space($givenName)">
+            <xsl:value-of select="concat($familyName, ', ', $givenName)"/>
           </xsl:when>
-          <xsl:when test="pica:subfield[@code = ('a', 'A')] or pica:subfield[@code = ('d', 'D')]">
-            <xsl:value-of select="concat(pica:subfield[@code = ('a', 'A')][1], pica:subfield[@code = ('d', 'D')][1])"/>
+          <xsl:when test="normalize-space($familyName) or normalize-space($givenName)">
+            <xsl:value-of select="concat($familyName, $givenName)"/>
           </xsl:when>
         </xsl:choose>
       </mods:displayForm>