diff --git a/scripts/check-licence-header.sh b/scripts/check-licence-header.sh
index 784bf0e76fd0a8f6662868cbc23f24a1e2d0e115..df0a5d1b037ba948c3bb528c5dcc35f087a50b91 100755
--- a/scripts/check-licence-header.sh
+++ b/scripts/check-licence-header.sh
@@ -3,36 +3,47 @@
 # SPDX-License-Identifier: GPL-3.0-only
 # First commited by Eoin Clerkin
 
+RETURN_CODE="0"
+
 licenceHeaderCheck () {
-	sed -n '2p' $1 | grep -L '   SPDX-License-Identifier: GPL-3.0-only'
+
+	FILE_CODE="0";
+	sed -n '2p' $1 | grep -q '   SPDX-License-Identifier: GPL-3.0-only'
 	if [ $? -ne 0 ]; then
-		echo "[ERROR] Missing or Malformated licence header for file $FILE"
-		exit 11
+		echo "[ERROR] $1, line 2 missing spdx licence header declaration."
+		((RETURN_CODE++))
+		FILE_CODE="1"
 	fi
 
-	head -n 1 $1 | grep -L '\/\* Copyright (C) [0-9-]* .[a-zA-Z ]*, [a-zA-Z]*'
+	head -n 1 $1 | grep -q '\/\* Copyright (C) [0-9-]* [a-zA-Z -]*, [a-zA-Z]*'
 	if [ $? -ne 0 ]; then
-		echo "[ERROR] $FILE; line 2 has syntax errors in its licence header."
-		exit 12
+		echo "[ERROR] $1; line 1 has syntax errors in its licence header."
+		((RETURN_CODE++))
+		FILE_CODE="1"
 	fi
 
-	sed -n '3p' $1 | grep -L '   Authors: .[^\*\/]*\*/'
+	sed -n '3p' $1 | grep -q '   Authors: .[^\*\/]*\*/'
 	if [ $? -ne 0 ]; then
-		echo "[ERROR] $FILE; line 3 has syntax errors in its licence header."
-		exit 13
+		echo "[ERROR] $1; line 3 has syntax errors in its licence header."
+		((RETURN_CODE++))
+		FILE_CODE="1"
 	fi
 
-	sed -n '3p' $FILE | grep -L '\[committer\]'
+	sed -n '3p' $1 | grep -q '\[committer\]'
 	if [ $? -ne 0 ]; then
-		echo "[ERROR] $FILE; line 3 has missing first commiter information."
-	exit 14
+		echo "[ERROR] $1; line 3 has missing first commiter information."
+		((RETURN_CODE++))
+		FILE_CODE="1"
+	fi
+
+	if [[ ${FILE_CODE} -eq 0 ]]; then
+		echo "[OK] File: $1 passes licence header check."
 	fi
-	echo "[OK] File: $1 passes licence header check.";
-	}
+}
 
 
 if [ $# -eq 1 ]; then
-  UPSTREAM=$1
+UPSTREAM=$1	
 else
   if [ -z $UPSTREAM ]; then
     UPSTREAM=$(git remote -v | grep git.cbm.gsi.de[:/]computing/cbmroot | cut -f1 | uniq)
@@ -45,15 +56,28 @@ else
   fi
 fi
 
-echo "See wikipage https://redmine.cbm.gsi.de/projects/cbmroot/wiki/Licence for information regarding the correct syntax used in the licence header."
 
-echo "Upstream name is :" $UPSTREAM
 
+if [ -f $1 ]; then 
+CHANGED_FILES="$1"
+echo "LICENCE HEADER CHECK FOR FILE: $1"
+else
+echo "Upstream name is :" $UPSTREAM
 BASE_COMMIT=$UPSTREAM/master
 CHANGED_FILES=$(git diff --name-only $BASE_COMMIT | egrep '\.cxx$|\.h|\.C$')
+fi
+
+
 for FILE in $CHANGED_FILES; do
-licenceHeaderCheck $FILE
+	licenceHeaderCheck $FILE
 done
 
-echo "[OK] Licence header passes automatic checks."
-exit 0;
+if [ $RETURN_CODE -eq "0" ]; then
+	echo "[OK] Licence header passes automatic checks."
+else
+	echo "[FAIL] Visit https://redmine.cbm.gsi.de/projects/cbmroot/wiki/Licence for information on correct syntax for licence header."
+fi
+
+
+
+exit $RETURN_CODE;