diff --git a/lib/query.py b/lib/query.py
index 11f1025a267f5af53c354cd012eabf683805ee89..9d646948ace7394fbc526ecb01153c5ac4a44af4 100644
--- a/lib/query.py
+++ b/lib/query.py
@@ -154,7 +154,7 @@ class Query:
       for (idx, row) in enumerate(result):
         assert _VerifyResultRow(self._fields, row), \
                ("Inconsistent result for fields %s in row %s: %r" %
-                (self._fields, idx, row))
+                (GetAllFields(self._fields), idx, row))
 
     return result
 
@@ -205,9 +205,10 @@ def _PrepareFieldList(fields):
   @return: Field dictionary for L{Query}
 
   """
-  assert len(set(fdef.title.lower()
-                 for (fdef, _, _) in fields)) == len(fields), \
-         "Duplicate title found"
+  if __debug__:
+    duplicates = utils.FindDuplicates(fdef.title.lower()
+                                      for (fdef, _, _) in fields)
+    assert not duplicates, "Duplicate title(s) found: %r" % duplicates
 
   result = {}
 
@@ -218,7 +219,8 @@ def _PrepareFieldList(fields):
     assert FIELD_NAME_RE.match(fdef.name)
     assert TITLE_RE.match(fdef.title)
     assert callable(fn)
-    assert fdef.name not in result, "Duplicate field name found"
+    assert fdef.name not in result, \
+           "Duplicate field name '%s' found" % fdef.name
 
     result[fdef.name] = field