diff --git a/Makefile b/Makefile
index e73b645..ee56421 100644
--- a/Makefile
+++ b/Makefile
@@ -11,6 +11,7 @@
 GITGUI_BUILT_INS = git-citool
 ALL_PROGRAMS = $(GITGUI_BUILT_INS) $(patsubst %.sh,%,$(SCRIPT_SH))
 ALL_LIBFILES = $(wildcard lib/*.tcl)
+PRELOAD_FILES = lib/class.tcl
 
 ifndef SHELL_PATH
 	SHELL_PATH = /bin/sh
@@ -32,6 +33,7 @@
 	QUIET_GEN      = @echo '   ' GEN $@;
 	QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
 	QUIET_INDEX    = @echo '   ' INDEX $(dir $@);
+	QUIET_2DEVNULL = 2>/dev/null
 endif
 
 TCL_PATH   ?= tclsh
@@ -45,6 +47,7 @@
 DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
 gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
 SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
+TCL_PATH_SQ = $(subst ','\'',$(TCL_PATH))
 TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
 
 libdir   ?= $(sharedir)/git-gui/lib
@@ -64,16 +67,26 @@
 	$(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@
 
 lib/tclIndex: $(ALL_LIBFILES)
-	$(QUIET_INDEX)echo \
-	  source lib/class.tcl \; \
+	$(QUIET_INDEX)if echo \
+	  $(foreach p,$(PRELOAD_FILES),source $p\;) \
 	  auto_mkindex lib '*.tcl' \
-	| $(TCL_PATH)
+	| $(TCL_PATH) $(QUIET_2DEVNULL); then : ok; \
+	else \
+	 echo 1>&2 "    * $(TCL_PATH) failed; using unoptimized loading"; \
+	 rm -f $@ ; \
+	 echo '# Autogenerated by git-gui Makefile' >$@ && \
+	 echo >>$@ && \
+	 $(foreach p,$(PRELOAD_FILES) $(ALL_LIBFILES),echo '$(subst lib/,,$p)' >>$@ &&) \
+	 echo >>$@ ; \
+	fi
 
 # These can record GITGUI_VERSION
 $(patsubst %.sh,%,$(SCRIPT_SH)): GIT-VERSION-FILE GIT-GUI-VARS
+lib/tclIndex: GIT-GUI-VARS
 
 TRACK_VARS = \
 	$(subst ','\'',SHELL_PATH='$(SHELL_PATH_SQ)') \
+	$(subst ','\'',TCL_PATH='$(TCL_PATH_SQ)') \
 	$(subst ','\'',TCLTK_PATH='$(TCLTK_PATH_SQ)') \
 	$(subst ','\'',libdir='$(libdir_SQ)') \
 #end TRACK_VARS
diff --git a/git-gui.sh b/git-gui.sh
index 2fda4c2..0a471a5 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -28,7 +28,34 @@
 if {[string match @@* $oguilib]} {
 	set oguilib [file join [file dirname [file normalize $argv0]] lib]
 }
-set auto_path [concat [list $oguilib] $auto_path]
+set idx [file join $oguilib tclIndex]
+catch {
+	set fd [open $idx r]
+	if {[gets $fd] eq {# Autogenerated by git-gui Makefile}} {
+		set idx [list]
+		while {[gets $fd n] >= 0} {
+			if {$n ne {} && ![string match #* $n]} {
+				lappend idx $n
+			}
+		}
+	} else {
+		set idx {}
+	}
+	close $fd
+}
+if {$idx ne {}} {
+	set loaded [list]
+	foreach p $idx {
+		if {[lsearch -exact $loaded $p] >= 0} continue
+		puts $p
+		source [file join $oguilib $p]
+		lappend loaded $p
+	}
+	unset loaded p
+} else {
+	set auto_path [concat [list $oguilib] $auto_path]
+}
+unset -nocomplain fd idx
 
 if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} {
 	unset _verbose
