diff --git a/vncviewer/CViewOptions.cxx b/vncviewer/CViewOptions.cxx
index d4c647a..199ddb5 100644
--- a/vncviewer/CViewOptions.cxx
+++ b/vncviewer/CViewOptions.cxx
@@ -86,6 +86,10 @@
 				 "0 = Low, 9 = High",
 				 5);
 
+static BoolParameter noJpeg("NoJPEG",
+			    "Disable lossy JPEG compression in Tight encoding.",
+			    false);
+
 CViewOptions::CViewOptions()
 : useLocalCursor(::useLocalCursor), useDesktopResize(::useDesktopResize),
 autoSelect(::autoSelect), fullColour(::fullColour), fullScreen(::fullScreen),
@@ -93,7 +97,7 @@
 preferredEncoding(encodingZRLE), clientCutText(::clientCutText), serverCutText(::serverCutText),
 protocol3_3(::protocol3_3), acceptBell(::acceptBell), lowColourLevel(::lowColourLevel),
 pointerEventInterval(ptrEventInterval), emulate3(::emulate3), monitor(::monitor.getData()),
-qualityLevel(::qualityLevel)
+qualityLevel(::qualityLevel), noJpeg(::noJpeg)
 {
   CharArray encodingName(::preferredEncoding.getData());
   preferredEncoding = encodingNum(encodingName.buf);
@@ -195,7 +199,8 @@
             setMenuKey(value.buf);
           } else if (stricmp(name.buf, "QualityLevel") == 0) {
 	    qualityLevel = atoi(value.buf);
-
+          } else if (stricmp(name.buf, "NoJPEG") == 0) {
+	    noJpeg = atoi(value.buf);
             // Legacy options
           } else if (stricmp(name.buf, "Preferred_Encoding") == 0) {
             preferredEncoding = atoi(value.buf);
@@ -280,6 +285,7 @@
       fprintf(f, "Monitor=%s\n", monitor.buf);
     fprintf(f, "MenuKey=%s\n", CharArray(menuKeyName()).buf);
     fprintf(f, "QualityLevel=%d\n", qualityLevel);
+    fprintf(f, "NoJPEG=%d\n", noJpeg);
     fclose(f); f=0;
 
     setConfigFileName(filename);
@@ -313,6 +319,7 @@
     key.setString(_T("Monitor"), TStr(monitor.buf));
   key.setString(_T("MenuKey"), TCharArray(menuKeyName()).buf);
   key.setInt(_T("QualityLevel"), qualityLevel);
+  key.setInt(_T("NoJPEG"), noJpeg);
 }
 
 
@@ -368,5 +375,6 @@
   setMonitor(o.monitor.buf);
   menuKey = o.menuKey;
   qualityLevel = o.qualityLevel;
+  noJpeg = o.noJpeg;
   return *this;
 }
