diff --git a/gitlab-build.sh b/gitlab-build.sh
index ff036b3fce140230957c9dd5d7dafd6798c12578..b57721f42e3e6b85f2111b9e548441a45ece9946 100755
--- a/gitlab-build.sh
+++ b/gitlab-build.sh
@@ -5,7 +5,8 @@ export VER_LATEST_EXTRA=wip
 export PATCHLEVEL=$(date +%Y%m%d)
 export VERSION_TWEAK=$(( $(date "+10#%H * 60 + 10#%M") ))
 
-cat << EOF > PAGES
+function do_build() {
+	cat << EOF > PAGES
 PAGES_URL =  $PAGES_URL
 PAGES_SLUG = $PAGES_SLUG
 GITLAB_USER = $GITLAB_USER
@@ -14,7 +15,7 @@ GITLAB_HOST = $GITLAB_HOST
 PROJECT_REPO = $PROJECT_REPO
 EOF
 
-cat << EOF > VERSION
+	cat << EOF > VERSION
 VERSION_MAJOR = $VERSION_MAJOR
 VERSION_MINOR = $VERSION_MINOR
 PATCHLEVEL = $PATCHLEVEL
@@ -22,8 +23,8 @@ VERSION_TWEAK = $VERSION_TWEAK
 EXTRAVERSION = $EXTRAVERSION
 EOF
 
-mkdir -p public
-cat <<HERE > public/index.html
+	mkdir -p public
+	cat <<HERE > public/index.html
 <!DOCTYPE html>
 <html>
   <head>
@@ -35,20 +36,21 @@ cat <<HERE > public/index.html
 </html>
 HERE
 
-echo "**** Updating $PAGES_URL/$VER_DIR ****"
+	echo "**** Updating $PAGES_URL/$VER_DIR ****"
 
-sphinx-build -j auto -b html . public/$VER_DIR/
-sphinx-build -j auto -M latexpdf . public/$VER_DIR/
-pdfcpu optimize public/$VER_DIR/latex/beagleboard-docs.pdf
-mv public/$VER_DIR/latex/beagleboard-docs.pdf public/$VER_DIR/
-rm -rf public/$VER_DIR/latex
+	sphinx-build -j auto -b html . public/$VER_DIR/
+	sphinx-build -j auto -M latexpdf . public/$VER_DIR/
+	pdfcpu optimize public/$VER_DIR/latex/beagleboard-docs.pdf
+	mv public/$VER_DIR/latex/beagleboard-docs.pdf public/$VER_DIR/
+	rm -rf public/$VER_DIR/latex
 
-if [ "$CI_COMMIT_TAG" != "" ]; then
-	if [ "$VER_DIR" = "latest" ]; then
-		cp public/index.html /var/www/docs
+	if [ "$CI_COMMIT_TAG" != "" ]; then
+		if [ "$VER_DIR" = "latest" ]; then
+			cp public/index.html /var/www/docs
+		fi
+		rsync -v -a --delete public/$VER_DIR/. /var/www/docs/$VER_DIR
 	fi
-	rsync -v -a --delete public/$VER_DIR/. /var/www/docs/$VER_DIR
-fi
+}
 
 if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
 	export VER_DIR=latest
@@ -61,6 +63,7 @@ if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
 	export VERSION_MAJOR=$VER_LATEST_MAJOR
 	export VERSION_MINOR=$VER_LATEST_MINOR
 	export EXTRAVERSION=$VER_LATEST_EXTRA
+	do_build
 elif [ "$CI_COMMIT_BRANCH" != "" ]; then
 	export VER_DIR=$CI_COMMIT_BRANCH
 	export PAGES_URL=$CI_PAGES_URL
@@ -73,13 +76,14 @@ elif [ "$CI_COMMIT_BRANCH" != "" ]; then
 	export VERSION_MAJOR=${BRANCH_VER[0]}
 	export VERSION_MINOR=${BRANCH_VER[1]}
 	export EXTRAVERSION=wip
+	do_build
 elif [ "$CI_COMMIT_TAG" != "" ]; then
 	export TAG_SPLIT=($(echo $CI_COMMIT_TAG | tr "-" "\n"))
 	export TAG_VER=($(echo ${TAG_SPLIT[0]} | tr "." "\n"))
 	export VERSION_MAJOR=${TAG_VER[0]}
 	export VERSION_MINOR=${TAG_VER[1]}
 	export EXTRAVERSION=${TAG_SPLIT[1]}
-	export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | sed 's/.*origin\///')
+	export GIT_BRANCH=$(git branch -a --contains tags/$CI_COMMIT_TAG | grep origin | head -1 | sed 's/.*origin\///')
 	if [ "$GIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
 		export VER_DIR=latest
 		export PAGES_URL=https://docs.beagleboard.org
@@ -88,6 +92,7 @@ elif [ "$CI_COMMIT_TAG" != "" ]; then
 		export GITLAB_HOST=$CI_SERVER_HOST
 		export PROJECT_BRANCH=$GIT_BRANCH
 		export PROJECT_REPO=docs.beagleboard.io
+		do_build
 	elif [ "$GIT_BRANCH" != "" ]; then
 		export VER_DIR=$GIT_BRANCH
 		export PAGES_URL=https://docs.beagleboard.org
@@ -96,6 +101,7 @@ elif [ "$CI_COMMIT_TAG" != "" ]; then
 		export GITLAB_HOST=$CI_SERVER_HOST
 		export PROJECT_BRANCH=$GIT_BRANCH
 		export PROJECT_REPO=docs.beagleboard.io
+		do_build
 	else
 		echo "***** Branch not found for tag *****"
 	fi