diff --git a/Makefile b/Makefile
index 3349f03..d014580 100644
--- a/Makefile
+++ b/Makefile
@@ -530,7 +530,7 @@
 # export rule. If versioninfo.inc is not found, version info will be obtained
 # using util/getrevision.sh.
 ifeq ($(wildcard versioninfo.inc),)
-VERSION ?= $(shell ./util/getrevision.sh --local)
+VERSION ?= $(shell ./util/getrevision.sh --revision)
 MAN_DATE ?= $(shell ./util/getrevision.sh --date $(PROGRAM).8.tmpl 2>/dev/null)
 else
 include versioninfo.inc
diff --git a/util/getrevision.sh b/util/getrevision.sh
index 9dd4dbe..80812b4 100755
--- a/util/getrevision.sh
+++ b/util/getrevision.sh
@@ -130,8 +130,7 @@
 	echo "${t}"
 }
 
-# Retrieve local revision info.
-local_revision() {
+revision() {
 	local r
 	if git_is_file_tracked "$1" ; then
 		r=$(git describe $(git_last_commit "$1"))
@@ -158,8 +157,9 @@
         this message
     -c or --check
         test if path is under version control at all
-    -l or --local
-        local revision information including an indicator for uncommitted changes
+    -r or --revision
+        return unique revision information including an indicator for
+        uncommitted changes
     -U or --url
         URL associated with the latest commit
     -d or --date
@@ -188,10 +188,6 @@
 		-h|--help)
 			action=show_help;
 			shift;;
-		-l|--local)
-			check_action $1
-			action=local_revision
-			shift;;
 		-U|--url)
 			check_action $1
 			action=scm_url
@@ -200,6 +196,10 @@
 			check_action $1
 			action="timestamp +%Y-%m-%d" # refrain from suffixing 'Z' to indicate it's UTC
 			shift;;
+		-r|--revision)
+			check_action $1
+			action=revision
+			shift;;
 		-t|--timestamp)
 			check_action $1
 			action="timestamp +%Y-%m-%dT%H:%M:%SZ" # There is only one valid time format! ISO 8601
