diff -ur gnustep-gui-0.11.0/Source/NSPageLayout.m gnustep-gui-0.11.0-bugfix/Source/NSPageLayout.m
--- gnustep-gui-0.11.0/Source/NSPageLayout.m	2006-07-04 14:31:49.000000000 -0700
+++ gnustep-gui-0.11.0-bugfix/Source/NSPageLayout.m	2006-10-07 14:38:13.000000000 -0700
@@ -451,7 +451,7 @@
                   [NSDecimalNumber decimalNumberWithString: @"1.0"]];
 		     
     [scaleFormatter setMaximum: 
-                  [NSDecimalNumber decimalNumberWithString: @"100000.0"]];
+                  [NSDecimalNumber decimalNumberWithString: @"1000.0"]];
   
     [scaleFormatter setHasThousandSeparators: NO];
     [scaleTextField setFormatter: scaleFormatter];  
@@ -836,6 +836,10 @@
       NSLog(@"NSPrintScalingFactor was nil in NSPrintInfo");
       scaleNumber = [NSNumber numberWithFloat: 100.0];
     }
+  else
+    {
+      scaleNumber = [NSNumber numberWithDouble: (100.0*[scaleNumber doubleValue])];
+    }
 
   [scaleTextField setObjectValue: scaleNumber];
   
@@ -909,8 +913,8 @@
       [_printInfo setOrientation: NSLandscapeOrientation];
     }
 
-  //Write scaling
-  scaleNumber = [NSNumber numberWithFloat: [scaleTextField floatValue]];
+  //Write scaling and don't forget to convert from percent
+  scaleNumber = [NSNumber numberWithDouble: [scaleTextField doubleValue]/100.0];
   [[_printInfo dictionary] setObject: scaleNumber
                               forKey: NSPrintScalingFactor];
 
diff -ur gnustep-gui-0.11.0/Source/NSPrintOperation.m gnustep-gui-0.11.0-bugfix/Source/NSPrintOperation.m
--- gnustep-gui-0.11.0/Source/NSPrintOperation.m	2006-02-21 22:43:48.000000000 -0800
+++ gnustep-gui-0.11.0-bugfix/Source/NSPrintOperation.m	2006-10-06 11:17:23.000000000 -0700
@@ -734,11 +734,11 @@
 
    /* Scale bounds by the user specified scaling */
   info->scaledBounds = scaleRect(_rect, info->printScale);
+  info->pageScale = 1; // default
 
   if (knowsRange == NO)
     {
       /* Now calculate page fitting to get page scale */
-      info->pageScale = 1;
       if ([_printInfo horizontalPagination] == NSFitPagination)
 	info->pageScale  = info->paperBounds.size.width 
 	  / NSWidth(info->scaledBounds);
@@ -879,6 +879,12 @@
     {
       viewPageRange = NSMakeRange(1, (info.xpages * info.ypages));
     }
+  else
+    {
+      info.xpages = 1;
+      info.ypages = viewPageRange.length;
+    }
+
   [dict setObject: NSNUMBER(NSMaxRange(viewPageRange))
 	   forKey: @"NSPrintTotalPages"];
   if (allPages == YES)
diff -ur gnustep-gui-0.11.0/Source/NSView.m gnustep-gui-0.11.0-bugfix/Source/NSView.m
--- gnustep-gui-0.11.0/Source/NSView.m	2006-08-26 07:10:18.000000000 -0700
+++ gnustep-gui-0.11.0-bugfix/Source/NSView.m	2006-10-02 00:17:13.000000000 -0700
@@ -3805,7 +3805,7 @@
 
   [ctxt resetUsedFonts];
   /* Make sure we set the visible rect so everything is printed. */
-  [self _rebuildCoordinates];
+  [self _invalidateCoordinates];
   _visibleRect = _bounds;
 }
 
