diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog
index 25a4e7ffb348c0af3d82d16d175731b678699bbc..9cc3244e4f7ee3014eedcc1844d5d5bde5258354 100644
--- a/fixincludes/ChangeLog
+++ b/fixincludes/ChangeLog
@@ -1,3 +1,10 @@
+2004-11-23  Geoffrey Keating  <geoffk@apple.com>
+
+	* mkfixinc.sh: Check error code from 'cat'.  Don't try running
+	built fixincl program.
+	* mkheaders.in: Use @SHELL@ rather than ${SHELL} to avoid picking
+	up csh from user.
+
 2004-11-20  Roger Sayle  <roger@eyesopen.com>
 
 	* inclhack.def (alpha_pthread_init): Fix technical problems with
diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
index d8b55c1f3f6bd19037b5a26f8c39d919384494ff..ef048f713a459cfdeb61ba74e572f7f5a908550c 100755
--- a/fixincludes/mkfixinc.sh
+++ b/fixincludes/mkfixinc.sh
@@ -35,8 +35,7 @@ case $machine in
         ;;
 
     *)
-	../${build_subdir}/fixincludes/fixincl -v < /dev/null
-	cat < ${srcdir}/fixinc.in > ${target}
+	cat < ${srcdir}/fixinc.in > ${target} || exit 1
 	;;
 esac
 chmod 755 ${target}
diff --git a/fixincludes/mkheaders.in b/fixincludes/mkheaders.in
index 7216e9aca4b08b6b01a080d01d6d5bdb08bd491e..8330ac47454a0f8228518e23a6bb96c1f2565cde 100644
--- a/fixincludes/mkheaders.in
+++ b/fixincludes/mkheaders.in
@@ -77,7 +77,7 @@ rm -rf ${incdir}/*
 if [ x${STMP_FIXINC} != x ] ; then
 	TARGET_MACHINE="${target}" target_canonical="${target}" \
 	    MACRO_LIST="${itoolsdatadir}/macro_list" \
-	    ${SHELL} ./fixinc.sh ${incdir} \
+	    @SHELL@ ./fixinc.sh ${incdir} \
 	    ${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
 	rm -f ${incdir}/syslimits.h
 	if [ -f ${incdir}/limits.h ]; then
@@ -90,7 +90,7 @@ fi
 cp ${itoolsdatadir}/include/* ${incdir}
 
 if [ x${STMP_FIXPROTO} != x ] ; then
-  mkinstalldirs="${SHELL} ${itoolsdir}/mkinstalldirs"
+  mkinstalldirs="@SHELL@ ${itoolsdir}/mkinstalldirs"
   export FIXPROTO_DEFINES mkinstalldirs
-  ${SHELL} fixproto ${incdir} ${incdir} ${SYSTEM_HEADER_DIR} || exit 1
+  @SHELL@ fixproto ${incdir} ${incdir} ${SYSTEM_HEADER_DIR} || exit 1
 fi