diff --git a/nars_core_java/nars/storage/Memory.java b/nars_core_java/nars/storage/Memory.java
index 830444bb2b21723bc54a3ba6ffeeab312036a5d1..44ca276fbdc5c9a4321eb09c6154d586f2e05e23 100644
--- a/nars_core_java/nars/storage/Memory.java
+++ b/nars_core_java/nars/storage/Memory.java
@@ -322,7 +322,16 @@ public class Memory {
                     chain.remove(currentBelief.getContent());
                 }
                 stamp.addToChain(currentBelief.getContent());
+                
             }
+            //workaround for single premise task issue:
+            if(currentBelief == null && single && currentTask != null) {
+                if(chain.contains(currentTask.getContent())) {
+                    chain.remove(currentTask.getContent());
+                }
+                stamp.addToChain(currentTask.getContent());
+            }
+            //end workaround
             if (currentTask != null && !single) {
                 if(chain.contains(currentTask.getContent())) {
                     chain.remove(currentTask.getContent());