diff --git a/libio/ChangeLog b/libio/ChangeLog
index 15095d836d37c766565b2d79eedab16d346cde69..aa546a46c4cbe55aab8e9a141c8a38d91bfcca1e 100644
--- a/libio/ChangeLog
+++ b/libio/ChangeLog
@@ -1,3 +1,8 @@
+1999-05-12  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* configure.in (compiler_name): Don't do the skip-this-dir thing
+	if we're reconfiguring.
+
 1999-04-29  Nathan Sidwell  <nathan@acm.org>
 
 	* streambuf.h (ios::~ios): Use operator delete[] to remove _arrays.
diff --git a/libio/configure.in b/libio/configure.in
index b2568e5a6bec8c9cc27e1123d7b1baf688ab9704..084e901aabf6243b63f46bfa90bc4d17353ab3bf 100644
--- a/libio/configure.in
+++ b/libio/configure.in
@@ -18,9 +18,11 @@ esac
 # does, we do not build anything. Note, $r is set by the top-level Makefile.
 # Note that when we look for the compiler, we search both with and without
 # extension to handle cross and canadian cross builds. 
+# Note that if $norecursion is set we're being called from config.status,
+# so don't check for the compiler; we might be doing a make clean.
 compiler_name=cc1plus
 rm -f skip-this-dir
-if test -n "$r"; then
+if test -n "$r" && [ -z "$norecursion" ] ; then
   if test -d "$r"/gcc; then
     if test -f "$r"/gcc/$compiler_name \
        || test -f "$r"/gcc/$compiler_name$EXEEXT; then
diff --git a/libstdc++/ChangeLog b/libstdc++/ChangeLog
index a75920e12ef769bf4e393c6a16caaa787df95b31..731a4404a2e7bebebd85988c5279ffcb4de4be49 100644
--- a/libstdc++/ChangeLog
+++ b/libstdc++/ChangeLog
@@ -1,3 +1,8 @@
+1999-05-12  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* configure.in (compiler_name): Don't do the skip-this-dir thing
+	if we're reconfiguring.
+
 1999-05-07  Ulrich Drepper  <drepper@cygnus.com>
 
 	* std/bastring.h (class basic_string::Rep): Make release member
diff --git a/libstdc++/configure.in b/libstdc++/configure.in
index 0f556cac551c0dcc83223f8a17cc1ce8d9e9a5ec..c0c701398f1017acb9002b62ec3c27880ede8ed8 100644
--- a/libstdc++/configure.in
+++ b/libstdc++/configure.in
@@ -18,9 +18,11 @@ esac
 # does, we do not build anything. Note, $r is set by the top-level Makefile.
 # Note that when we look for the compiler, we search both with and without
 # extension to handle cross and canadian cross builds. 
+# Note that if $norecursion is set we're being called from config.status,
+# so don't check for the compiler; we might be doing a make clean.
 compiler_name=cc1plus
 rm -f skip-this-dir
-if test -n "$r"; then
+if test -n "$r" && [ -z "$norecursion" ] ; then
   if test -d "$r"/gcc; then
     if test -f "$r"/gcc/$compiler_name \
        || test -f "$r"/gcc/$compiler_name$EXEEXT; then