diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e7de36293733cebea88a2bb76e6ba2f1f352392d..5b76363c064b996eb70fd27462a24cf8bd947c8b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-25  Mike Stump  <mrs@apple.com>
+
+	* configure.ac: Fix ZIP and GCJH at configure time to absolute
+	paths like we do for the compiler, as we use it in external/sax
+	and it doesn't get MULTIBUILDTOP right when multilibing.
+
 2005-03-24  Anthony Green  <green@redhat.com>
 
 	* gnu/gcj/tools/gcj_dbtool/Main.java: Accept libdir argument with
diff --git a/libjava/configure b/libjava/configure
index d689da0ad2c59c68b757685d1a9696899e6a3a81..076a4a00d41b7de12174b1e90cb03141f0a3ab90 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -13275,6 +13275,7 @@ NATIVE=yes
 # Which gcj do we use?
 which_gcj=default
 built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`"
+built_hostdir="`cd ${builddotdot}/../../${host_subdir} && ${PWDCMD-pwd}`"
 if test -n "${with_cross_host}"; then
   # We are being configured with a cross compiler. We can't
   # use ac_exeext, because that is for the target platform.
@@ -13313,8 +13314,10 @@ fi
 case "${which_gcj}" in
    built)
       GCJ="$built_gcc_dir/gcj -B`${PWDCMD-pwd}`/ -B$built_gcc_dir/"
-      GCJH='$(MULTIBUILDTOP)../../$(host_subdir)/gcc/gcjh'
-      ZIP='$(MULTIBUILDTOP)../../$(host_subdir)/fastjar/fastjar'
+      # GCJH='$(MULTIBUILDTOP)../../$(host_subdir)/gcc/gcjh'
+      GCJH="$built_gcc_dir/gcjh"
+      # ZIP='$(MULTIBUILDTOP)../../$(host_subdir)/fastjar/fastjar'
+      ZIP="$built_hostdir/fastjar/fastjar"
    ;;
    cross)
       if test "x${with_newlib}" = "xyes"; then
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 8366523de9045d79b023f2f62302d0f2c0a3ae96..9f16149a8f6b0fa1a853ac97c0427e6e4c61db35 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -1029,6 +1029,7 @@ NATIVE=yes
 # Which gcj do we use?
 which_gcj=default
 built_gcc_dir="`cd ${builddotdot}/../../${host_subdir}/gcc && ${PWDCMD-pwd}`"
+built_hostdir="`cd ${builddotdot}/../../${host_subdir} && ${PWDCMD-pwd}`"
 if test -n "${with_cross_host}"; then
   # We are being configured with a cross compiler. We can't
   # use ac_exeext, because that is for the target platform.
@@ -1067,8 +1068,10 @@ fi
 case "${which_gcj}" in
    built)
       GCJ="$built_gcc_dir/gcj -B`${PWDCMD-pwd}`/ -B$built_gcc_dir/"
-      GCJH='$(MULTIBUILDTOP)../../$(host_subdir)/gcc/gcjh'
-      ZIP='$(MULTIBUILDTOP)../../$(host_subdir)/fastjar/fastjar'
+      # GCJH='$(MULTIBUILDTOP)../../$(host_subdir)/gcc/gcjh'
+      GCJH="$built_gcc_dir/gcjh"
+      # ZIP='$(MULTIBUILDTOP)../../$(host_subdir)/fastjar/fastjar'
+      ZIP="$built_hostdir/fastjar/fastjar"
    ;;
    cross)
       if test "x${with_newlib}" = "xyes"; then