diff --git a/aegisub/src/dialog_resample.cpp b/aegisub/src/dialog_resample.cpp
index 00b1abad4cef03b9d9b9aa9d1521bba6637b3699..d4539e15df9a235916e39b01b371b0b2e516d348 100644
--- a/aegisub/src/dialog_resample.cpp
+++ b/aegisub/src/dialog_resample.cpp
@@ -245,9 +245,12 @@ void ResampleResolution(AssFile *ass, ResampleSettings const& settings) {
 		settings.margin,
 		double(settings.script_x) / double(src_x),
 		double(settings.script_y) / double(src_y),
-		settings.change_ar ? state.rx / state.ry : 1.0
+		1.0
 	};
 
+	if (settings.change_ar)
+		state.ar = state.rx / state.ry;
+
 	for_each(ass->Line.begin(), ass->Line.end(), bind(resample_line, &state, std::tr1::placeholders::_1));
 
 	ass->SetScriptInfo("PlayResX", wxString::Format("%d", settings.script_x));