diff --git a/CHANGELOG.md b/CHANGELOG.md
index c9e24eec..d103c766 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@
 
 ### Fix
 - Fix Datadog support.
+- Fix `force` resizing + rotation.
 
 ## [3.1.3] - 2021-12-17
 ### Fix
diff --git a/processing/scale.go b/processing/scale.go
index 3822cd27..12b73dac 100644
--- a/processing/scale.go
+++ b/processing/scale.go
@@ -8,7 +8,12 @@ import (
 
 func scale(pctx *pipelineContext, img *vips.Image, po *options.ProcessingOptions, imgdata *imagedata.ImageData) error {
 	if pctx.wscale != 1 || pctx.hscale != 1 {
-		if err := img.Resize(pctx.wscale, pctx.hscale); err != nil {
+		wscale, hscale := pctx.wscale, pctx.hscale
+		if (pctx.angle+po.Rotate)%180 == 90 {
+			wscale, hscale = hscale, wscale
+		}
+
+		if err := img.Resize(wscale, hscale); err != nil {
 			return err
 		}
 	}