818477f
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
818477f
index 649995bb5..2396c9b58 100644
818477f
--- a/scheduler/ipp.c
818477f
+++ b/scheduler/ipp.c
818477f
@@ -4873,6 +4873,8 @@ copy_printer_attrs(
818477f
   * and document-format attributes that may be provided by the client.
818477f
   */
818477f
 
818477f
+  _cupsRWLockRead(&printer->lock);
818477f
+
818477f
   curtime = time(NULL);
818477f
 
818477f
   if (!ra || cupsArrayFind(ra, "marker-change-time"))
818477f
@@ -5034,6 +5036,8 @@ copy_printer_attrs(
818477f
   if (printer->ppd_attrs)
818477f
     copy_attrs(con->response, printer->ppd_attrs, ra, IPP_TAG_ZERO, 0, NULL);
818477f
   copy_attrs(con->response, CommonData, ra, IPP_TAG_ZERO, IPP_TAG_COPY, NULL);
818477f
+
818477f
+  _cupsRWUnlock(&printer->lock);
818477f
 }
818477f
 
818477f