diff --git a/applications/gui2/src/modules/calibration/calibration.hpp b/applications/gui2/src/modules/calibration/calibration.hpp
index af27c0f82c3720d0fe8ef9e2cffe1bebff8afbf1..a30a67e4d71d39b9a70afb0102f15fa31c7187ea 100644
--- a/applications/gui2/src/modules/calibration/calibration.hpp
+++ b/applications/gui2/src/modules/calibration/calibration.hpp
@@ -317,11 +317,12 @@ public:
 
 	enum Flags {
 		ZERO_DISTORTION = 1,
-		FIX_INTRINSIC = 2,
-		FIX_FOCAL = 4,
-		FIX_PRINCIPAL_POINT = 8,
-		FIX_DISTORTION = 16,
-		LOSS_CAUCHY = 32,
+		RATIONAL_MODEL = 2,
+		FIX_INTRINSIC = 4,
+		FIX_FOCAL = 8,
+		FIX_PRINCIPAL_POINT = 16,
+		FIX_DISTORTION = 32,
+		LOSS_CAUCHY = 64,
 	};
 
 	void setFlags(int flags);
diff --git a/applications/gui2/src/modules/calibration/extrinsic.cpp b/applications/gui2/src/modules/calibration/extrinsic.cpp
index 83debcedf44ae7ee1b2301d5bd2538da0279e6f3..d7847b4a2097fb3a5d2ffe0cedcb78c367e82a5f 100644
--- a/applications/gui2/src/modules/calibration/extrinsic.cpp
+++ b/applications/gui2/src/modules/calibration/extrinsic.cpp
@@ -308,12 +308,15 @@ void ExtrinsicCalibration::run() {
 
 			auto opt = state_.calib.options();
 			opt.optimize_intrinsic = !(state_.flags & Flags::FIX_INTRINSIC);
+			opt.rational_model = state_.flags & Flags::RATIONAL_MODEL;
 			opt.fix_focal = state_.flags & Flags::FIX_FOCAL;
 			opt.fix_distortion = state_.flags & Flags::FIX_DISTORTION;
+			opt.zero_distortion = state_.flags & Flags::ZERO_DISTORTION;
 			opt.fix_principal_point = state_.flags & Flags::FIX_PRINCIPAL_POINT;
 			opt.loss = (state_.flags & Flags::LOSS_CAUCHY) ?
 				ftl::calibration::BundleAdjustment::Options::Loss::CAUCHY :
 				ftl::calibration::BundleAdjustment::Options::Loss::SQUARED;
+
 			state_.calib.setOptions(opt);
 			state_.calib.run();