Index: tol/btol/bgrammar/spfuninst.cpp
===================================================================
--- tol/btol/bgrammar/spfuninst.cpp	(revision 6306f69ba634039a23f8bbb5eb9154af706fb576)
+++ tol/btol/bgrammar/spfuninst.cpp	(revision 239a237f86fb4ee3c965a1cf5c592672af35207c)
@@ -448,5 +448,22 @@
     if(args.Card()==1)
     {
-	result  = gra->EvaluateExpr(Text(args[1]));
+      const BText& expr = Text(args[1]);
+      if(gra==GraAnything())
+      {
+        int posBlank = expr.Find(" ");
+        if(posBlank>0)
+        {
+          BText usedGraNam(expr,0,posBlank-1);
+          BGrammar* usedGra = BGrammar::FindByName(usedGraNam,false);
+          if(usedGra) 
+          {  
+            result = usedGra->EvaluateExpr(expr);
+          }
+        }
+      }
+	    if(!result)
+      {
+        result = gra->EvaluateExpr(expr);
+      }
     }
     result=BSpecialFunction::TestResult(_name_,result,tre,gra->Defect(),BTRUE);
