diff --git a/src/main/jastadd/Navigation.jrag b/src/main/jastadd/Navigation.jrag
index 14412b3fcf825ad21d146e1a879f530c27e7f5c3..6bb30366b2a6b16cabbfab4e1bd2b87b411f3c44 100644
--- a/src/main/jastadd/Navigation.jrag
+++ b/src/main/jastadd/Navigation.jrag
@@ -3,15 +3,33 @@ aspect Navigation {
   eq PetriNet.getChild().petriNet() = this;
 
   syn java.util.Collection<Place> TransitionNode.incomingPlaces() {
-      java.util.Set<Place> incomingPlaces = new java.util.HashSet<>();
-      de.tudresden.inf.st.pnml.PnmlRefTransitionResolver.resolveIncomingPlaces(this, incomingPlaces);
-      return incomingPlaces;
-  }
 
+      java.util.Set<Place> s = new java.util.HashSet<>();
+
+      for (Arc incomingArc : getInArcList()) {
+          s.add(incomingArc.getSource().asPlaceNode().place());
+      }
+
+      for (TransitionNode ref : getReferencingTransitions()) {
+          s.addAll(ref.incomingPlaces());
+      }
+
+      return s;
+  }
+  
   syn java.util.Collection<Place> TransitionNode.outgoingPlaces() {
-      java.util.Set<Place> outgoingPlaces = new java.util.HashSet<>();
-      de.tudresden.inf.st.pnml.PnmlRefTransitionResolver.resolveOutgoingPlaces(this, outgoingPlaces);
-      return outgoingPlaces;
+
+    java.util.Set<Place> s = new java.util.HashSet<>();
+
+    for (Arc outgoing : getOutArcList()) {
+         s.add(outgoing.getTarget().asPlaceNode().place());
+    }
+
+    for (TransitionNode ref : getReferencingTransitions()) {
+         s.addAll(ref.outgoingPlaces());
+    }
+
+    return s;
   }
 
   inh Page PnObject.ContainingPage();