The attached patch seems to work for me.
D.
--- module-init-tools-3.3-pre11.orig/insmod.c 2007-03-22 00:36:02.000000000 -0700 +++ module-init-tools-3.3-pre11/insmod.c 2007-05-25 11:42:43.000000000 -0700 @@ -106,7 +106,7 @@ int main(int argc, char *argv[]) unsigned long len; void *file; char *filename, *options = strdup(""); - char *p, *progname = argv[0]; + char *progname = argv[0]; if (!options) { fprintf(stderr, @@ -115,11 +115,10 @@ int main(int argc, char *argv[]) exit(1); } - (p = strrchr(argv[0], '/')) ? p++ : argv[0]; - if (strstr(p, "insmod.static")) - try_old_version("insmod.static", argv); - else + if (strstr(progname, "insmod.static") == NULL) try_old_version("insmod", argv); + else + try_old_version("insmod.static", argv); if (argv[1] && (streq(argv[1], "--version") || streq(argv[1], "-V"))) { puts(PACKAGE " version " VERSION);