diff --git a/add/data/xqm/util.xqm b/add/data/xqm/util.xqm
index 151e6e3177ceb80e92ac31582ad9bade68336f2e..5d894b7cd2914be4269a15356fcd170626fc9d73 100644
--- a/add/data/xqm/util.xqm
+++ b/add/data/xqm/util.xqm
@@ -50,8 +50,10 @@ declare function eutil:getLocalizedName($node, $lang) {
   return
     if ($node/mei:title)
     then (
-        if ($lang = $node/mei:title/@xml:lang)
-        then $node/mei:title[@xml:lang = $lang]/text()
+        if ($lang = $node/mei:title/@xml:lang and $node/mei:title[@xml:lang = $lang]/text() != '')
+        then ($node/mei:title[@xml:lang = $lang]/text())
+        else if ($lang = $node/mei:title/@xml:lang and $node/mei:title[@xml:lang = $lang]/text() = '')
+        then ($node/mei:title[@xml:lang = 'de']/text())
         else $node/mei:title[1]/text()
     )
     else if ($node/mei:name)