diff --git a/src/autogen.sh b/src/autogen.sh
index c4f448f644ebd60252c261d3b9c6fd014db88c9e..2792a14ce178e0615fb7a017e218eab0dd7c10ec 100755
--- a/src/autogen.sh
+++ b/src/autogen.sh
@@ -68,12 +68,14 @@ function fetch_lib
 
 
 # Should gbtools be installed ? Default is 'yes'
+checkout_only='no'
 gbtools_install='yes'
 
 
 
-while getopts ":gz" opt ; do
+while getopts ":cgz" opt ; do
     case $opt in
+        c  ) checkout_only='yes' ;;
         g  ) gbtools_install='yes' ;;
         z  ) gbtools_install='no' ;;
     esac
@@ -107,6 +109,17 @@ if [[ "$gbtools_install" == "yes" ]] ; then
 fi
 
 
+# Sometimes we want a tree containing any necessary subdirectories (aceconn etc)
+# but don't want to run any autoconf stuff.
+#
+if [ "$checkout_only" = 'yes' ] ; then
+  echo "Subdirectories installed, exiting before autoreconf."
+
+  exit 0
+fi
+
+
+
 # If the gbtools autogen.sh script exists then run that. This is necessary
 # for gbtools to create its gbtools_version.m4 file.
 #
@@ -125,3 +138,5 @@ autoreconf -fi -v || echo "autoreconf failed...."
 echo "Done"
 
 
+exit 0
+