diff --git a/engines/sci/parser/grammar.cpp b/engines/sci/parser/grammar.cpp
index b330a43..a7bb883 100644
--- a/engines/sci/parser/grammar.cpp
+++ b/engines/sci/parser/grammar.cpp
@@ -603,6 +603,21 @@ int Vocabulary::parseGNF(const ResultWordListList &words, bool verbose) {
 
 	results = work;
 
+	if (g_sci->getGameId() == GID_QFG2 && words.size() == 3 && results->next) {
+		bool ok = true;
+		words_iter = words.begin();
+		if (words_iter->size() != 1 || words_iter->begin()->_group != 0x3f4)
+			ok = false;
+		words_iter++;
+		if (words_iter->size() != 2 || words_iter->begin()->_group != 0xa88)
+			ok = false;
+		words_iter++;
+		if (words_iter->size() != 1 || words_iter->begin()->_group != 0xad3)
+			ok = false;
+		if (ok)
+			results = results->next;
+	}
+
 	if (verbose) {
 		con->DebugPrintf("All results (excluding the surrounding '(141 %03x' and ')'):\n", _parserBranches[0].id);
 		results->print();
