diff --git a/win/rfb_win32/ScaledDIBSectionBuffer.cxx b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
index efa27a0..a3eb4fb 100644
--- a/win/rfb_win32/ScaledDIBSectionBuffer.cxx
+++ b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
@@ -41,6 +41,7 @@
 
 void ScaledDIBSectionBuffer::setScale(int scale_) {
   if (scale == scale_ || scale_ <= 0) return;
+  if (!(getPixelFormat().trueColour) && scale_ != 100) throw rfb::UnsupportedPixelFormatException();
   ScaledPixelBuffer::setScale(scale_);
   if (scale == 100) scaling = false;
   else scaling = true;
@@ -50,7 +51,7 @@
 void ScaledDIBSectionBuffer::setPF(const PixelFormat &pf_) {
   if (memcmp(&(ScaledPixelBuffer::pf), &pf_, sizeof(pf_)) == 0) return;
 
-  if (!pf_.trueColour) throw rfb::UnsupportedPixelFormatException();
+  if (!pf_.trueColour && isScaling()) throw rfb::UnsupportedPixelFormatException();
 
   pf = pf_;
   if (scaling) {
diff --git a/win/vncviewer/DesktopWindow.cxx b/win/vncviewer/DesktopWindow.cxx
index 7543707..296be66 100644
--- a/win/vncviewer/DesktopWindow.cxx
+++ b/win/vncviewer/DesktopWindow.cxx
@@ -73,7 +73,7 @@
   try {
     result = _this->processMessage(msg, wParam, lParam);
   } catch (rfb::UnsupportedPixelFormatException &e) {
-    MsgBox(0, e.str(), MB_OK);
+    MsgBox(0, e.str(), MB_OK | MB_ICONINFORMATION);
     _this->getCallback()->closeWindow();
   } catch (rdr::Exception& e) {
     vlog.error("untrapped: %s", e.str());
