diff --git a/nars-dist/NARS.jar b/nars-dist/NARS.jar
index 35244b1d840a384b8bc782462dab1546c208312a..b7901076317e1ddacd759a63dd284be17fbd57ad 100644
Binary files a/nars-dist/NARS.jar and b/nars-dist/NARS.jar differ
diff --git a/nars_core_java/nars/inference/RuleTables.java b/nars_core_java/nars/inference/RuleTables.java
index 3660ed1dba07d13810dac76449657f5ede51a2a7..85e8f0f25ae664c4d4e7d8f2759541c4ee7e67ea 100644
--- a/nars_core_java/nars/inference/RuleTables.java
+++ b/nars_core_java/nars/inference/RuleTables.java
@@ -44,7 +44,7 @@ public class RuleTables {
         Sentence taskSentence = task.getSentence();
         Term taskTerm = (Term) taskSentence.getContent().clone();         // cloning for substitution
         Term beliefTerm = (Term) bLink.getTarget().clone();       // cloning for substitution
-        if(taskTerm instanceof Statement && taskSentence.isJudgment()) {
+        if(taskTerm instanceof Statement && (taskTerm instanceof Implication) && taskSentence.isJudgment()) {
             double n=taskTerm.getComplexity(); //don't let this rule apply every time, make it dependent on complexity
             double w=1.0/((n*(n-1))/2.0); //let's assume hierachical tuple (triangle numbers) amount for this
             if(CompositionalRules.rand.nextDouble()<w) { //so that NARS memory will not be spammed with contrapositions