diff -up hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp.clear-old-state-reasons hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp
--- hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp.clear-old-state-reasons 2012-06-19 11:00:06.000000000 +0200
+++ hplip-3.12.6/prnt/hpcups/HPCupsFilter.cpp 2012-06-19 11:00:57.822093043 +0200
@@ -510,6 +510,13 @@ int HPCupsFilter::StartPrintJob(int arg
signal(SIGTERM, HPCancelJob);
+/*
+ * Prior to the re-write of hpcups, this filter managed the
+ * marker-supply-low-warning printer state reason. Make sure to
+ * clear that state reason so that upgrades work correctly.
+ */
+ fputs ("STATE: -marker-supply-low-warning\n", stderr);
+
cups_raster = cupsRasterOpen(fd, CUPS_RASTER_READ);
if (cups_raster == NULL) {