diff --git a/common/rfb/IrixDMJpegCompressor.cxx b/common/rfb/IrixDMJpegCompressor.cxx
index dda059f..6e155ec 100644
--- a/common/rfb/IrixDMJpegCompressor.cxx
+++ b/common/rfb/IrixDMJpegCompressor.cxx
@@ -35,7 +35,7 @@
 }
 
 //
-// Set JPEG quality level (0..100)
+// Set JPEG quality level (1..100)
 //
 // FIXME: Call m_ic.setImageQuality() when necessary.
 //
@@ -43,10 +43,11 @@
 void
 IrixDMJpegCompressor::setQuality(int level)
 {
-  if (level < 0)
-    level = 0;
-  if (level > 100)
+  if (level < 1) {
+    level = 1;
+  } else if (level > 100) {
     level = 100;
+  }
 
   m_quality = level;
 }
diff --git a/common/rfb/JpegCompressor.cxx b/common/rfb/JpegCompressor.cxx
index 0914f85..0de87b4 100644
--- a/common/rfb/JpegCompressor.cxx
+++ b/common/rfb/JpegCompressor.cxx
@@ -134,11 +134,11 @@
 void
 StandardJpegCompressor::setQuality(int level)
 {
-  if (level < 0)
+  if (level < 0) {
     level = 0;
-  if (level > 100)
+  } else if (level > 100) {
     level = 100;
-
+  }
   jpeg_set_quality(&m_cinfo, level, true);
 }
 
diff --git a/common/rfb/JpegEncoder.cxx b/common/rfb/JpegEncoder.cxx
index 51d48f1..6903c2c 100644
--- a/common/rfb/JpegEncoder.cxx
+++ b/common/rfb/JpegEncoder.cxx
@@ -35,7 +35,7 @@
  true);
 
 const int JpegEncoder::qualityMap[10] = {
-  5, 10, 15, 25, 37, 50, 60, 70, 75, 80
+  2, 10, 15, 25, 37, 50, 60, 70, 80, 90
 };
 
 JpegEncoder::JpegEncoder(SMsgWriter* writer_) : writer(writer_), jcomp(0)
@@ -71,9 +71,12 @@
 
 void JpegEncoder::setQualityLevel(int level)
 {
-  if (level >= 0 && level <= 9) {
-    jcomp->setQuality(qualityMap[level]);
+  if (level < 0) {
+    level = 0;
+  } else if (level > 9) {
+    level = 9;
   }
+  jcomp->setQuality(qualityMap[level]);
 }
 
 bool JpegEncoder::writeRect(PixelBuffer* pb, const Rect& r)
