diff -up modules-3.2.9/locate_module.c.SourceVers modules-3.2.9/locate_module.c --- modules-3.2.9/locate_module.c.SourceVers 2013-06-30 17:23:01.451210176 +0200 +++ modules-3.2.9/locate_module.c 2013-06-30 17:24:16.963201645 +0200 @@ -1194,6 +1194,11 @@ int SourceVers( Tcl_Interp *interp, char ** The version has been specified in the ** '.version' file. Set up the result code **/ + /* version can be only located in the current directory */ + if (strrchr(version, '/')) { + ErrorLogger( ERR_BADMODNAM, LOC, version, NULL); + return( TCL_ERROR); + } /* for deep modulefile dirs ... just use lowest part */ if (!(modname = (char*) strrchr( name, '/'))) { modname = name;