diff --git a/Makefile b/Makefile
index 40d9ea085398da3585735a0bfd426d71b6f07cef..099deb6631982172f3d1f13a567b94400842606c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 DESTDIR = /usr/local/nagios/libexec/
-SCRIPTS = check_cups check_glsa check_saned
+SCRIPTS = check_cups check_glsa check_saned check_lpd
 
 all:;
 
diff --git a/check_lpd b/check_lpd
new file mode 100755
index 0000000000000000000000000000000000000000..fdc23e1db44c2b65b0c970a39eb3c4ac38eabe4f
--- /dev/null
+++ b/check_lpd
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+#
+# Check an lpd queue on a remote host
+#
+# Usage: check_lpd host queue
+#
+# This check script is maintained in a Subversion repository at
+# http://lsvn.lysator.liu.se/svnroot/nagios-plugins.  Contact
+# <ceder@lysator.liu.se> for commit access.
+
+import socket
+import sys
+import os
+
+def connect(host):
+    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+    try:
+        s.connect((host, 515))
+    except socket.error, err:
+        print "CRITICAL - ", err.args[1], "| queue=0"
+	sys.exit(2)
+    return s
+
+def check_queue(host, queue):
+    s = connect(host)
+    s.send('%c%s\n' % (4, queue))
+    res = s.recv(65535)
+    s.close()
+    if host == 'laser':
+	if res == 'JetDirect lpd: no jobs queued on this port\r\n':
+	    print "OK - queue empty. | queue=0"
+	    sys.exit(0)
+	elif res == 'Active connection from  192.168.10.100\r\n':
+	    print "WARNING - somebody is printing | queue=1"
+	    sys.exit(1)
+	else:
+	    print "UNKNOWN -", repr(res), "| queue=0"
+	    sys.exit(3)
+    elif host == 'copier':
+        if res == 'no entries\n':
+	    print "OK - queue empty. | queue=0"
+	    sys.exit(0)
+	else:
+	    print "UNKNOWN -", repr(res), "| queue=0"
+	    sys.exit(3)
+
+    print res
+
+def usage(): 
+    sys.stderr.write("usage: check_lpd host [queue]\n")
+    sys.exit(64)
+
+if __name__ == '__main__':
+    if len(sys.argv) == 3:
+	host = sys.argv[1]
+	queue = sys.argv[2]
+    elif len(sys.argv) == 2:
+	host = sys.argv[1]
+	queue = ''
+    else:
+        usage()
+
+    check_queue(host, queue)