diff -up cups-2.2b2/berkeley/lpr.c.lpr-help cups-2.2b2/berkeley/lpr.c
--- cups-2.2b2/berkeley/lpr.c.lpr-help	2016-06-24 17:43:35.000000000 +0200
+++ cups-2.2b2/berkeley/lpr.c	2016-06-27 15:11:30.646348752 +0200
@@ -18,6 +18,31 @@
 #include <cups/cups-private.h>
 
 
+static void
+usage (const char *name)
+{
+  _cupsLangPrintf(stdout,
+"Usage: %s [OPTION] [ file(s) ]\n"
+"Print files.\n\n"
+"  -E                       force encryption\n"
+"  -H server[:port]         specify alternate server\n"
+"  -C title, -J title, -T title\n"
+"                           set the job name\n\n"
+"  -P destination/instance  print to named printer\n"
+"  -U username              specify alternate username\n"
+"  -# num-copies            set number of copies\n"
+"  -h                       disable banner printing\n"
+"  -l                       print without filtering\n"
+"  -m                       send email on completion\n"
+"  -o option[=value]        set a job option\n"
+"  -p                       format text file with header\n"
+"  -q                       hold job for printing\n"
+"  -r                       delete files after printing\n"
+"\nWith no file given, read standard input.\n"
+, name);
+}
+
+
 /*
  * 'main()' - Parse options and send files for printing.
  */
@@ -281,6 +306,12 @@ main(int  argc,				/* I - Number of comm
 	      break;
 
 	  default :
+	    if (!strcmp (argv[i], "--help"))
+	    {
+	      usage (argv[0]);
+	      return (0);
+	    }
+
 	      _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
 	      return (1);
 	}
