Index: app/paint-funcs/scale-funcs.c
===================================================================
--- app/paint-funcs/scale-funcs.c	(revision 22705)
+++ app/paint-funcs/scale-funcs.c	(working copy)
@@ -430,10 +430,19 @@ scale_region (PixelRegion           *src
   gint     new_y;
   gint     x, y;
 
-  if (interpolation == GIMP_INTERPOLATION_NONE)
+  switch (interpolation)
     {
+    case GIMP_INTERPOLATION_NONE:
       scale_region_no_resample (srcPR, destPR);
       return;
+
+    case GIMP_INTERPOLATION_LINEAR:
+    case GIMP_INTERPOLATION_CUBIC:
+      break;
+
+    case GIMP_INTERPOLATION_LANCZOS:
+      scale_region_lanczos (srcPR, destPR, progress_callback, progress_data);
+      break;
     }
 
   orig_width = srcPR->w;
@@ -442,12 +451,6 @@ scale_region (PixelRegion           *src
   width = destPR->w;
   height = destPR->h;
 
-  if (interpolation == GIMP_INTERPOLATION_LANCZOS && orig_height <= height)
-    {
-      scale_region_lanczos (srcPR, destPR, progress_callback, progress_data);
-      return;
-    }
-
 #if 0
   g_printerr ("scale_region: (%d x %d) -> (%d x %d)\n",
               orig_width, orig_height, width, height);
