diff --git a/src/mol-plugin/util/interactivity.ts b/src/mol-plugin/util/interactivity.ts
index e138d1167b1d380a370e1157509a6daf6a5cde4a..11f147a49785697ec7281fec5c906753bdd91c28 100644
--- a/src/mol-plugin/util/interactivity.ts
+++ b/src/mol-plugin/util/interactivity.ts
@@ -97,9 +97,6 @@ namespace Interactivity {
                 // convert Link.Loci to a StructureElement.Loci so granularity can be applied
                 loci = Link.toStructureElementLoci(loci)
             }
-            if (applyGranularity) {
-                loci = Granularity[this.props.granularity](loci)
-            }
             if (Structure.isLoci(loci)) {
                 // convert to StructureElement.Loci
                 loci = Structure.toStructureElementLoci(loci)
@@ -108,6 +105,10 @@ namespace Interactivity {
                 // ensure the root structure is used
                 loci = StructureElement.Loci.remap(loci, loci.structure.root)
             }
+            if (applyGranularity) {
+                // needs to be applied AFTER remapping to root
+                loci = Granularity[this.props.granularity](loci)
+            }
             return { loci, repr }
         }