diff --git a/win/rfb_win32/ScaledDIBSectionBuffer.cxx b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
index e009187..155de3d 100644
--- a/win/rfb_win32/ScaledDIBSectionBuffer.cxx
+++ b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
@@ -45,6 +45,7 @@
   if (scale_ratio_ != 1) scaling = true;
   else scaling = false;
   ScaledPixelBuffer::setScaleRatio(scale_ratio_);
+  calculateScaledBufferSize();
   recreateBuffers();
 }
 
@@ -73,8 +74,6 @@
 }
 
 void ScaledDIBSectionBuffer::recreateScaledBuffer() {
-  width_  = scaled_width;
-  height_ = scaled_height;
   if (width_ && height_ && (format.depth != 0)) {
     DIBSectionBuffer::recreateBuffer();
     scaled_data = data;
@@ -82,8 +81,6 @@
 }
 
 void ScaledDIBSectionBuffer::recreateBuffers() {
-  width_ = scaled_width;
-  height_ = scaled_height;
   if (scaled_width && scaled_height && format.depth != 0 && scale_ratio != 0) {
     if (scaling) {
       if (src_buffer) {
@@ -111,6 +108,12 @@
   }
 }
 
+void ScaledDIBSectionBuffer::calculateScaledBufferSize() {
+  ScaledPixelBuffer::calculateScaledBufferSize();
+  width_ = scaled_width;
+  height_ = scaled_height;
+}
+
 void ScaledDIBSectionBuffer::fillRect(const Rect &dest, Pixel pix) {
   if (scaling) {
     src_buffer->fillRect(dest, pix);
