diff --git a/qa/qa_utils.py b/qa/qa_utils.py
index baacdebdcba7c4d97fb51c8e1f6e335340a3a266..0b3854d2ea620f610e2a431e253ac2e1e9d12016 100644
--- a/qa/qa_utils.py
+++ b/qa/qa_utils.py
@@ -139,7 +139,7 @@ def _GetName(entity, key):
   """
   if isinstance(entity, basestring):
     result = entity
-  elif isinstance(entity, dict):
+  elif isinstance(entity, dict) or hasattr(entity, "__getitem__"):
     result = entity[key]
   else:
     raise qa_error.Error("Expected string or dictionary, got %s: %s" %