diff --git a/ivette/src/frama-c/kernel/ASTinfo.tsx b/ivette/src/frama-c/kernel/ASTinfo.tsx
index 176801ed0f6ce514140e5548170ad5f375976f17..5453dc220c1e96cd7bbf833cadb22276d039251b 100644
--- a/ivette/src/frama-c/kernel/ASTinfo.tsx
+++ b/ivette/src/frama-c/kernel/ASTinfo.tsx
@@ -324,6 +324,13 @@ export default function ASTinfo(): JSX.Element {
   React.useEffect(() => {
     markers.setLocations(selectedLoc, hoveredLoc);
   }, [markers, selectedLoc, hoveredLoc]);
+  const pinMarker = (location: States.Location) : void => {
+    markers.setPinned(location?.marker, true);
+  };
+  React.useEffect(() => {
+    States.MetaSelection.on(pinMarker);
+    return () => States.MetaSelection.off(pinMarker);
+  });
   // Rendering
   const renderMark = (mark: Mark): JSX.Element | null => {
     const { marker } = mark;