cpsPathQuery.setContainerNames(containerNames);
         cpsPathQuery.setBooleanOperators(booleanOperators);
         cpsPathQuery.setComparativeOperators(comparativeOperators);
+        if (cpsPathQuery.hasAncestorAxis() && cpsPathQuery.getXpathPrefix()
+                .endsWith("/" + cpsPathQuery.getAncestorSchemaNodeIdentifier())) {
+            cpsPathQuery.setAncestorSchemaNodeIdentifier("");
+        }
         return cpsPathQuery;
     }
 
 
 /*
  *  ============LICENSE_START=======================================================
- *  Copyright (C) 2021-2023 Nordix Foundation
+ *  Copyright (C) 2021-2024 Nordix Foundation
  *  Modifications Copyright (C) 2023 TechMahindra Ltd
  *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
             '/test[@name2="value2" and @name1="value1"]' || 'name2'               | 'name1'
     }
 
+    def 'Ancestor axis matching prefix'() {
+        when: 'building a cps path query'
+            def result = parseXPathAndBuild(xpath)
+        then: 'ancestor axis is removed when same as prefix'
+            assert result.hasAncestorAxis() == expectAncestorAxis
+        where: 'the following xpaths are used'
+            xpath                     || expectAncestorAxis
+            '//abc/def/ancestor::abc' || true
+            '//abc/def/ancestor::def' || false
+            '//abc/def/ancestor::ef'  || true
+        }
+
+    def parseXPathAndBuild(xpath) {
+        def cpsPathBuilder = CpsPathUtil.getCpsPathBuilder(xpath)
+        cpsPathBuilder.build()
+    }
+
 }
 
 /*
  *  ============LICENSE_START=======================================================
- *  Copyright (C) 2023 Nordix Foundation
+ *  Copyright (C) 2023-2024 Nordix Foundation
  *  Modifications Copyright (C) 2023 TechMahindra Ltd
  *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the 'License');
             'ancestor with parent list'                 | '//books/ancestor::bookstore/categories'              || ["/bookstore/categories[@code='1']", "/bookstore/categories[@code='2']", "/bookstore/categories[@code='3']", "/bookstore/categories[@code='4']", "/bookstore/categories[@code='5']"]
             'ancestor with parent list element'         | '//books/ancestor::bookstore/categories[@code="2"]'   || ["/bookstore/categories[@code='2']"]
             'ancestor combined with text condition'     | '//books/title[text()="Matilda"]/ancestor::bookstore' || ["/bookstore"]
+            'ancestor same as target type'              | '//books/title[text()="Matilda"]/ancestor::books'     || ["/bookstore/categories[@code='1']/books[@title='Matilda']"]
     }
 
     def 'Cps Path query across anchors with #scenario descendants.'() {