diff --git a/.gitignore b/.gitignore
index 7f388a0..74300e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -250,7 +250,7 @@
 /libcharset/build-aux/install-sh
 /libcharset/build-aux/mkinstalldirs
 
-# Other files brought in by autopull.sh:
+# Other files brought in by autogen.sh:
 /build-aux/config.guess
 /build-aux/config.sub
 /libcharset/build-aux/config.guess
diff --git a/ChangeLog b/ChangeLog
index b21cc7b..6b67b98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2022-07-18  Bruno Haible  <bruno@clisp.org>
+
+	Move gnulib-tool invocation back from autopull.sh to autogen.sh.
+	* autogen.sh: Revert last change. Improve comments.
+	* autopull.sh: Only call 'gitsub.sh pull'.
+	* HACKING: Mention autopull.sh.
+
 2022-07-17  Bruno Haible  <bruno@clisp.org>
 
 	Split autogen.sh into autopull.sh and autogen.sh.
diff --git a/HACKING b/HACKING
index 933cc3c..fe28688 100644
--- a/HACKING
+++ b/HACKING
@@ -55,7 +55,7 @@
 Then you can proceed with "./configure" as usual.
 
 Each time you want to update the source, do not only "git pull".  Instead do
-  git pull && ./gitsub.sh pull
+  git pull && ./autopull.sh
   ./autogen.sh
 
 
diff --git a/autogen.sh b/autogen.sh
index 90fc9f9..dd72d83 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -23,8 +23,69 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
-# Prerequisite (if not used from a released tarball): ./autopull.sh
-# Usage: ./autogen.sh
+# Prerequisite (if not used from a released tarball): either
+#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout, or
+#   - a preceding invocation of './autopull.sh'.
+#
+# Usage: ./autogen.sh [--skip-gnulib]
+#
+# Options:
+#   --skip-gnulib       Avoid fetching files from Gnulib.
+#                       This option is useful
+#                       - when you are working from a released tarball (possibly
+#                         with modifications), or
+#                       - as a speedup, if the set of gnulib modules did not
+#                         change since the last time you ran this script.
+
+skip_gnulib=false
+while :; do
+  case "$1" in
+    --skip-gnulib) skip_gnulib=true; shift;;
+    *) break ;;
+  esac
+done
+
+# ========== Copy files from gnulib, automake, or the internet. ==========
+
+if test $skip_gnulib = false; then
+  if test -n "$GNULIB_SRCDIR"; then
+    test -d "$GNULIB_SRCDIR" || {
+      echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2
+      exit 1
+    }
+  else
+    GNULIB_SRCDIR=`pwd`/gnulib
+    test -d "$GNULIB_SRCDIR" || {
+      echo "*** Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR." 1>&2
+      exit 1
+    }
+  fi
+  # Now it should contain a gnulib-tool.
+  GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool"
+  test -f "$GNULIB_TOOL" || {
+    echo "*** gnulib-tool not found." 1>&2
+    exit 1
+  }
+  for file in build-aux/compile build-aux/ar-lib; do
+    $GNULIB_TOOL --copy-file $file || exit $?
+    chmod a+x $file || exit $?
+  done
+  make -f Makefile.devel \
+       gnulib-clean srclib/Makefile.gnulib gnulib-imported-files srclib/Makefile.in \
+       GNULIB_TOOL="$GNULIB_TOOL"
+fi
+
+# Copy files into the libcharset subpackage, so that libcharset/autogen.sh
+# does not need to invoke gnulib-tool nor automake.
+for file in INSTALL.generic; do
+  cp -p $file libcharset/$file || exit $?
+done
+for file in config.guess config.libpath config.sub install-sh libtool-reloc mkinstalldirs; do
+  cp -p build-aux/$file libcharset/build-aux/$file || exit $?
+done
+for file in codeset.m4 fcntl-o.m4 lib-ld.m4 relocatable.m4 relocatable-lib.m4 visibility.m4; do
+  cp -p srcm4/$file libcharset/m4/$file || exit $?
+done
 
 # ========== Generate files. ==========
 
diff --git a/autopull.sh b/autopull.sh
index a0016a7..0d08d35 100755
--- a/autopull.sh
+++ b/autopull.sh
@@ -1,12 +1,8 @@
 #!/bin/sh
 # Convenience script for fetching auxiliary files that are omitted from
 # the version control repository of this package.
-#
-# This script requires either
-#   - the GNULIB_SRCDIR environment variable pointing to a gnulib checkout, or
-#   - a preceding invocation of './gitsub.sh pull'.
 
-# Copyright (C) 2003-2012, 2016, 2018-2022 Free Software Foundation, Inc.
+# Copyright (C) 2022 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -23,46 +19,6 @@
 
 # Usage: ./autopull.sh
 
-./gitsub.sh pull
-
-# ========== Copy files from gnulib, automake, or the internet. ==========
-
-if test -n "$GNULIB_SRCDIR"; then
-  test -d "$GNULIB_SRCDIR" || {
-    echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2
-    exit 1
-  }
-else
-  GNULIB_SRCDIR=`pwd`/gnulib
-  test -d "$GNULIB_SRCDIR" || {
-    echo "*** Subdirectory 'gnulib' does not yet exist. Use './gitsub.sh pull' to create it, or set the environment variable GNULIB_SRCDIR." 1>&2
-    exit 1
-  }
-fi
-# Now it should contain a gnulib-tool.
-GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool"
-test -f "$GNULIB_TOOL" || {
-  echo "*** gnulib-tool not found." 1>&2
-  exit 1
-}
-for file in build-aux/compile build-aux/ar-lib; do
-  $GNULIB_TOOL --copy-file $file || exit $?
-  chmod a+x $file || exit $?
-done
-make -f Makefile.devel \
-     gnulib-clean srclib/Makefile.gnulib gnulib-imported-files srclib/Makefile.in \
-     GNULIB_TOOL="$GNULIB_TOOL"
-
-# Copy files into the libcharset subpackage, so that libcharset/autogen.sh
-# does not need to invoke gnulib-tool nor automake.
-for file in INSTALL.generic; do
-  cp -p $file libcharset/$file || exit $?
-done
-for file in config.guess config.libpath config.sub install-sh libtool-reloc mkinstalldirs; do
-  cp -p build-aux/$file libcharset/build-aux/$file || exit $?
-done
-for file in codeset.m4 fcntl-o.m4 lib-ld.m4 relocatable.m4 relocatable-lib.m4 visibility.m4; do
-  cp -p srcm4/$file libcharset/m4/$file || exit $?
-done
+./gitsub.sh pull || exit 1
 
 echo "$0: done.  Now you can run './autogen.sh'."
