Index: vtkWrapTcl.c
===================================================================
RCS file: /cvsroot/VTK/VTK/Wrapping/vtkWrapTcl.c,v
retrieving revision 1.58
diff -u -r1.58 vtkWrapTcl.c
--- vtkWrapTcl.c	12 Mar 2008 14:00:56 -0000	1.58
+++ vtkWrapTcl.c	14 Mar 2008 18:54:44 -0000
@@ -879,8 +879,13 @@
     fprintf(fp,"      return TCL_OK;\n      }\n");
     fprintf(fp,"    }\n");
     }
-  fprintf(fp,"\n  if ((argc >= 2)&&(!strstr(interp->result,\"Object named:\")))\n    {\n");
-  fprintf(fp,"    char temps2[256];\n    sprintf(temps2,\"Object named: %%s, could not find requested method: %%s\\nor the method was called with incorrect arguments.\\n\",argv[0],argv[1]);\n    Tcl_AppendResult(interp,temps2,NULL);\n    }\n");
+  // i.e. If this is vtkObjectBase (or whatever the top of the class hierarchy will be)
+  // then report the error
+  if (data->NumberOfSuperClasses == 0)
+    {
+    fprintf(fp,"\n  if (argc >= 2)\n    {\n");
+    fprintf(fp,"    char temps2[256];\n    sprintf(temps2,\"Object named: %%s, could not find requested method: %%s\\nor the method was called with incorrect arguments.\\n\",argv[0],argv[1]);\n    Tcl_SetResult(interp,temps2,TCL_VOLATILE);\n    return TCL_ERROR;\n    }\n");
+    }
   fprintf(fp,"    }\n");
   fprintf(fp,"  catch (vtkstd::exception &e)\n");
   fprintf(fp,"    {\n");
