diff --git a/script/static-checks/check-copyright.py b/script/static-checks/check-copyright.py
index f0c537f..60c6f5d 100755
--- a/script/static-checks/check-copyright.py
+++ b/script/static-checks/check-copyright.py
@@ -80,7 +80,7 @@
 COPYRIGHT_OK = 0
 COPYRIGHT_ERROR = 1
 
-def check_copyright(path, args, rusted=False, encoding='utf-8'):
+def check_copyright(path, args, copyright_pattern, check_year, encoding='utf-8'):
     '''Checks a file for a correct copyright header.'''
 
     result = COPYRIGHT_OK
@@ -88,15 +88,12 @@
     with open(path, encoding=encoding) as file_:
         file_content = file_.read()
 
-    if rusted:
-        copyright_line = RUST_COPYRIGHT_PATTERN.search(file_content)
-    else:
-        copyright_line = COPYRIGHT_PATTERN.search(file_content)
+    copyright_line = copyright_pattern.search(file_content)
 
     if not copyright_line:
         print("ERROR: Missing copyright in " + file_.name)
         result = COPYRIGHT_ERROR
-    elif not rusted and CURRENT_YEAR not in copyright_line.group():
+    elif check_year and CURRENT_YEAR not in copyright_line.group():
         print("WARNING: Copyright is out of date in " + file_.name + ": '" +
               copyright_line.group() + "'")
 
@@ -150,7 +147,9 @@
         if args.verbose:
             print("Checking file " + f)
 
-        rc = check_copyright(f, args, rusted=args.rusted)
+        copyright_pattern = RUST_COPYRIGHT_PATTERN if args.rusted else COPYRIGHT_PATTERN
+        check_year = not args.rusted
+        rc = check_copyright(f, args, copyright_pattern, check_year)
 
         if rc == COPYRIGHT_OK:
             count_ok += 1
diff --git a/script/static-checks/static-checks-check-copyright.sh b/script/static-checks/static-checks-check-copyright.sh
index 391c4dd..f943bf1 100755
--- a/script/static-checks/static-checks-check-copyright.sh
+++ b/script/static-checks/static-checks-check-copyright.sh
@@ -5,14 +5,14 @@
 # SPDX-License-Identifier: BSD-3-Clause
 #
 
-# test-package-check-copyright.sh DIRECTORY CPYRIGHT_FLAGS
+# test-package-check-copyright.sh DIRECTORY COPYRIGHT_FLAGS
 
 this_dir="$(readlink -f "$(dirname "$0")")"
 . $this_dir/common.sh
 
 
 DIRECTORY="$1"
-CPYRIGHT_FLAGS="$2"
+COPYRIGHT_FLAGS="$2"
 
 TEST_CASE="Copyright headers of files modified by this patch"
 
@@ -20,7 +20,7 @@
 
 LOG_FILE=`mktemp -t common.XXXX`
 
-"$CI_ROOT"/script/static-checks/check-copyright.py --tree "$DIRECTORY" "$CPYRIGHT_FLAGS" --patch --from-ref $(get_merge_base) &> "$LOG_FILE"
+"$CI_ROOT"/script/static-checks/check-copyright.py --tree "$DIRECTORY" "$COPYRIGHT_FLAGS" --patch --from-ref $(get_merge_base) &> "$LOG_FILE"
 RES=$?
 
 if [ -s "$LOG_FILE" ]; then
