diff --git a/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java b/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java
index dbb03fd..d12f649 100644
--- a/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java
+++ b/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java
@@ -2375,6 +2375,48 @@
 		assertEquals("true", actual);
 	}
 	
+	public void testFnIndexOf_onQName() throws Exception {
+		// bug 338999
+		URL fileURL = bundle.getEntry("/bugTestFiles/bug338999.xml");
+		URL schemaURL = bundle.getEntry("/bugTestFiles/bug338999.xsd");
+
+		loadDOMDocument(fileURL, schemaURL);
+
+		// Get XSModel object for the Schema
+		XSModel schema = getGrammar(schemaURL);
+
+		setupDynamicContext(schema);
+		
+		String xpath = "fn:index-of( for $e in X/* return fn:node-name($e), fn:node-name(X/b) )";
+		compileXPath(xpath);
+		ResultSequence rs = evaluate(domDoc);
+		
+		assertTrue( rs.size()>0 );
+		String actual = ((XSInteger) rs.first()).getStringValue();
+		assertEquals("2", actual);
+	}
+	
+	public void testFnIndexOf_onQName2() throws Exception {
+		// bug 338999
+		URL fileURL = bundle.getEntry("/bugTestFiles/bug338999.xml");
+		URL schemaURL = bundle.getEntry("/bugTestFiles/bug338999.xsd");
+
+		loadDOMDocument(fileURL, schemaURL);
+
+		// Get XSModel object for the Schema
+		XSModel schema = getGrammar(schemaURL);
+
+		setupDynamicContext(schema);
+		
+		String xpath = "fn:index-of( for $e in X/* return fn:node-name($e), fn:QName('','b') )";
+		compileXPath(xpath);
+		ResultSequence rs = evaluate(domDoc);
+		
+		assertTrue( rs.size()>0 );
+		String actual = ((XSInteger) rs.first()).getStringValue();
+		assertEquals("2", actual);
+	}
+	
 	public void testBug339025_distinctValuesOnNodeSequence() throws Exception {
 		// bug 339025
 		URL fileURL = bundle.getEntry("/bugTestFiles/bug339025.xml");
