diff --git a/src/lib/AnnotationItem.js b/src/lib/AnnotationItem.js
index e28458f26413c6f16795e6eabab481697e697924..7a57a7b17b7b158ae6f3207d0cd34065fd00d382 100644
--- a/src/lib/AnnotationItem.js
+++ b/src/lib/AnnotationItem.js
@@ -29,7 +29,7 @@ export default class AnnotationItem {
       case 'string':
         return target.replace(/#?xywh=(.*)$/, '');
       case 'object':
-        return target.id || (target.source && target.source.id);
+        return (target.source && target.source.id) || target.source || target.id;
       default:
         return null;
     }