diff --git a/scripts/git.sh b/scripts/git.sh
index 88a10ed410980ac77a166f1d9ed46387f2cd1068..53d196d99d77c63aed180a7fd162826a489d47e7 100755
--- a/scripts/git.sh
+++ b/scripts/git.sh
@@ -119,12 +119,16 @@ git_kernel () {
 
 	git pull ${GIT_OPTS} || true
 
+	git tag | grep v${KERNEL_TAG} | grep -v rc &>/dev/null || git_kernel_torvalds
+
 	if [ ! "${LATEST_GIT}" ] ; then
-		git tag | grep v${KERNEL_TAG} | grep -v rc &>/dev/null || git_kernel_torvalds
 		git branch -D v${KERNEL_TAG}-${BUILD} &>/dev/null || true
-		git checkout v${KERNEL_TAG} -b v${KERNEL_TAG}-${BUILD}
+		if [ ! "${KERNEL_SHA}" ] ; then
+			git checkout v${KERNEL_TAG} -b v${KERNEL_TAG}-${BUILD}
+		else
+			git checkout ${KERNEL_SHA} -b v${KERNEL_TAG}-${BUILD}
+		fi
 	else
-		git tag | grep v${KERNEL_TAG} | grep -v rc &>/dev/null || git_kernel_torvalds
 		git branch -D top-of-tree &>/dev/null || true
 		git checkout v${KERNEL_TAG} -b top-of-tree
 		git describe
diff --git a/version.sh b/version.sh
index ad8b8b0702b8e273c0524890c85dcf70765e746e..7705f67fbca462c7d0b0c613ace2ce3e2cf01445 100644
--- a/version.sh
+++ b/version.sh
@@ -26,6 +26,9 @@ KERNEL_REL=3.7
 KERNEL_TAG=${KERNEL_REL}-rc7
 BUILD=d0
 
+#v3.X-rcX + upto SHA
+#KERNEL_SHA=""
+
 #git branch
 #BRANCH="v3.8.x"