diff --git a/repository/src/main/java/org/apache/atlas/query/GremlinClause.java b/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
index b7e5330..7014b4a 100644
--- a/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
+++ b/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
@@ -69,7 +69,8 @@
     // idx of the tuple field to be sorted on
     INLINE_TUPLE_SORT_ASC(".sort{a,b -> a[%s] <=> b[%s]}"),
     INLINE_TUPLE_SORT_DESC(".sort{a,b -> b[%s] <=> a[%s]}"),
-    TERM("and(__.in('r:AtlasGlossarySemanticAssignment').has('AtlasGlossaryTerm.%s', eq('%s')).dedup())"),
+    TERM("where(in('r:AtlasGlossarySemanticAssignment').has('AtlasGlossaryTerm.%s', '%s'))"),
+
     V("V()"),
     VALUE_MAP("valueMap(%s)");
 
diff --git a/repository/src/main/java/org/apache/atlas/query/executors/GremlinClauseToTraversalTranslator.java b/repository/src/main/java/org/apache/atlas/query/executors/GremlinClauseToTraversalTranslator.java
index 156a65c..26942c7 100644
--- a/repository/src/main/java/org/apache/atlas/query/executors/GremlinClauseToTraversalTranslator.java
+++ b/repository/src/main/java/org/apache/atlas/query/executors/GremlinClauseToTraversalTranslator.java
@@ -248,12 +248,10 @@
 
                 case TERM:
                     String term = String.format("AtlasGlossaryTerm.%s", values[0]);
-
-                    traversal.and(
-                            traversal.startAnonymousTraversal()
-                                     .in(org.apache.atlas.repository.Constants.TERM_ASSIGNMENT_LABEL)
-                                     .has(term, P.eq(values[1]))
-                                     .dedup()
+                    traversal.where(
+                             traversal.startAnonymousTraversal()
+                            .in(org.apache.atlas.repository.Constants.TERM_ASSIGNMENT_LABEL)
+                            .has(term, P.eq(values[1]))
                             );
                     break;
 
diff --git a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
index 3594e2f..3a2d66d 100644
--- a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
+++ b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
@@ -334,21 +334,17 @@
 
     @Test
     public void glossaryTermQueries() {
-        verify("Table hasTerm sales", "g.V().has('__typeName', 'Table')." +
-                "and(__.in('r:AtlasGlossarySemanticAssignment')." +
-                "has('AtlasGlossaryTerm.name', eq('sales')).dedup())." +
-                "dedup().limit(25).toList()");
+        verify("Table hasTerm sales", "g.V().has('__typeName', 'Table')" +
+                ".where(in('r:AtlasGlossarySemanticAssignment').has('AtlasGlossaryTerm.name', 'sales'))" +
+                ".dedup().limit(25).toList()");
         verify("Table hasTerm \"sales@glossary\"", "g.V().has('__typeName', 'Table')." +
-                "and(__.in('r:AtlasGlossarySemanticAssignment')." +
-                "has('AtlasGlossaryTerm.qualifiedName', eq('sales@glossary')).dedup())." +
-                "dedup().limit(25).toList()");
+                "where(in('r:AtlasGlossarySemanticAssignment').has('AtlasGlossaryTerm.qualifiedName', 'sales@glossary'))" +
+                ".dedup().limit(25).toList()");
         verify("Table hasTerm \"sales@glossary\" and owner = \"fetl\"",
                 "g.V().has('__typeName', 'Table')" +
                         ".and(" +
-                            "__.and(" +
-                                "__.in('r:AtlasGlossarySemanticAssignment').has('AtlasGlossaryTerm.qualifiedName', eq('sales@glossary'))" +
-                                ".dedup())," +
-                                "__.has('Table.owner', eq(\"fetl\"))" +
+                            "__.where(in('r:AtlasGlossarySemanticAssignment').has('AtlasGlossaryTerm.qualifiedName', 'sales@glossary'))" +
+                            ",__.has('Table.owner', eq(\"fetl\"))" +
                         ").dedup().limit(25).toList()");
     }
 
