}
 
 if {[file tail [lindex $argv 0]] eq {gitk}} {
-       set argv0 [file join $gitexecdir gitk]
+       set argv0 [lindex $argv 0]
        set AppMain_source $argv0
 } else {
        set argv0 [file join $gitexecdir [file tail [lindex $argv 0]]]
        set AppMain_source [file join $gitguilib git-gui.tcl]
-       if {[pwd] eq {/}} {
+       if {[info exists env(PWD)]} {
+               cd $env(PWD)
+       } elseif {[pwd] eq {/}} {
                cd $env(HOME)
        }
 }