diff --git a/procedures/insertIsaCache.sql b/procedures/insertIsaCache.sql
index aacb4cdd5170f8b5f5b8c1df1488b3b344b7ba2f..a4490bd24da11cdb4d0af5930bdeb14c3882925d 100644
--- a/procedures/insertIsaCache.sql
+++ b/procedures/insertIsaCache.sql
@@ -60,7 +60,7 @@ insert_is_a_proc: BEGIN
            p,                            -- New parent (directly)
            concat(p, ">", i.rpath))      -- Else "p>super.rpath"
             AS rpath
-        FROM isa_cache AS i WHERE i.child = p;  -- Select rows with supertype
+        FROM isa_cache AS i WHERE i.child = p AND i.child != i.parent;  -- Select rows with supertype
     
     -- Propagate to descendants:
     -- for each subtype of c: insert each supertype of p
@@ -78,7 +78,7 @@ insert_is_a_proc: BEGIN
             AS rpath
         FROM
             isa_cache as l INNER JOIN isa_cache as r
-            ON (l.parent = c AND c = r.child); -- Left: descendants of c, right: ancestors
+            ON (l.parent = c AND c = r.child AND l.child != l.parent); -- Left: descendants of c, right: ancestors
 	
 END;
 //