diff --git a/autogen.sh b/autogen.sh
index 904cd6746c8734b2c33e3f80773d4759715d2f6e..afe52998011310c49fc29af180e9845bb9d5da8f 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -6,6 +6,21 @@ test -z "$srcdir" && srcdir=.
 ORIGDIR=`pwd`
 cd $srcdir
 
+# If this is a git checkout, verify that the submodules are initialized,
+# otherwise autotools will just fail with an unhelpful error message.
+if [ -d ".git" ] && [ -r ".gitmodules" ]
+then
+	# If git is not in PATH, this will not return 0, thus not keeping us
+	# from building. Since the message is worthless when git is not
+	# installed, this is what we want.
+	if git submodule status 2>/dev/null | grep -q '^-'
+	then
+		echo "You have uninitialized git submodules." >&2
+		echo "Please run: git submodule update --init" >&2
+		exit 1
+	fi
+fi
+
 autoreconf -v --install || exit 1
 cd $ORIGDIR || exit $?