Index: tol/btol/bgrammar/class.cpp
===================================================================
--- tol/btol/bgrammar/class.cpp	(revision 902b7fa213a64488d170ace92ae8e1c2182b6c75)
+++ tol/btol/bgrammar/class.cpp	(revision 0e08fa624b712f8d6e749814a873c6cebd99c200)
@@ -1456,4 +1456,12 @@
   BUserNameBlock* unb = NULL;
   BClass* cls = FindClassInNameBlock(name, unb);
+  if(!cls && BNameBlock::Current())
+  {
+    result = BNameBlock::Current()->Member(name);
+    if(result && (result->Mode()==BCLASSMODE))
+    {
+      cls = (BClass*)result;
+    }
+  }
   if(!cls)
   {
Index: tol/btol/bgrammar/str.cpp
===================================================================
--- tol/btol/bgrammar/str.cpp	(revision 902b7fa213a64488d170ace92ae8e1c2182b6c75)
+++ tol/btol/bgrammar/str.cpp	(revision 0e08fa624b712f8d6e749814a873c6cebd99c200)
@@ -249,4 +249,6 @@
 {
   assert(name!="");
+  if((name=="Relation")||(name=="@Relation"))
+    printf("");
   TRACE_Def_StructMember("BStruct",this,name); 
   TRACE_MEMORY_SHOW(this,"BStruct::BStruct");
@@ -521,4 +523,12 @@
   BUserNameBlock* unb = NULL;
   BStruct* bstr = FindStructInNameBlock(name, unb);
+  if(!bstr && BNameBlock::Current())
+  {
+    result = BNameBlock::Current()->Member(name);
+    if(result && (result->Mode()==BSTRUCTMODE))
+    {
+      bstr = (BStruct*)result;
+    }
+  }
   if(!bstr)
   {
