diff --git a/policy/modules/services/lpd.te b/policy/modules/services/lpd.te
index 1887c50..80671d9 100644
--- a/policy/modules/services/lpd.te
+++ b/policy/modules/services/lpd.te
@@ -289,8 +289,8 @@ tunable_policy(`use_lpd_server',`
 	files_read_var_files(lpr_t)
 
 	# Connect to lpd via a Unix domain socket.
-	allow lpr_t printer_t:sock_file rw_sock_file_perms;
-	allow lpr_t lpd_t:unix_stream_socket connectto;
+	allow lpr_t printer_t:sock_file read_sock_file_perms;
+	stream_connect_pattern(lpr_t, printer_t, printer_t, lpd_t)
 	# Send SIGHUP to lpd.
 	allow lpr_t lpd_t:process signal;