diff --git a/nars_core_java/nars/storage/Memory.java b/nars_core_java/nars/storage/Memory.java index 2ac7913270bf56930387b4aa1f5d79425f6e62cf..d9326cac522346150510d67210c32c20c75eb8f3 100644 --- a/nars_core_java/nars/storage/Memory.java +++ b/nars_core_java/nars/storage/Memory.java @@ -313,10 +313,16 @@ public class Memory { } Stamp stamp = task.getSentence().getStamp(); ArrayList<Term> chain = stamp.getChain(); - if (currentBelief != null && !chain.contains(currentBelief.getContent())) { + if (currentBelief != null) { + if(chain.contains(currentBelief.getContent())) { + chain.remove(currentBelief.getContent()); + } stamp.addToChain(currentBelief.getContent()); } - if (currentTask != null && !single && !chain.contains(currentTask.getContent())) { + if (currentTask != null && !single) { + if(chain.contains(currentTask.getContent())) { + chain.remove(currentTask.getContent()); + } stamp.addToChain(currentTask.getContent()); } if (!revised) {