Index: tol/btol/bgrammar/syn.cpp
===================================================================
--- tol/btol/bgrammar/syn.cpp	(revision 994e0b6942405f58dd80229ebff311fcf6e5047a)
+++ tol/btol/bgrammar/syn.cpp	(revision 545d679f09af23f5b41ba3100a81056b830692dd)
@@ -282,6 +282,22 @@
 {
   TRACE_MEMORY_SHOW(this,"BSyntaxObject::SourcePath");
-  if(!BSourcePath::IsAlive(sourcePath_)) { return(BSyntaxObject::CBTextNullRef()); }
-  else                                   { return(sourcePath_->Name()); }
+  if(sourcePath_ && BSourcePath::IsAlive(sourcePath_))
+  {
+    return(sourcePath_->Name()); 
+  }
+  else if(System() && Mode()==BBUILTINFUNMODE)
+  {
+    BOperator* opr = (BOperator*)this;
+    return(opr->CppFile());
+  }
+  else if(System() && (Mode()==BOBJECTMODE) && (Grammar()==GraCode()))
+  {
+    BUserCode* uCode = (BUserCode*)this;
+    return(uCode->Contens().Operator()->CppFile());
+  }
+  else
+  {
+    return(BSyntaxObject::CBTextNullRef());
+  }
 }
 
