diff --git a/src/calng/preview_utils.py b/src/calng/preview_utils.py
index 12cb7e183a13133824a7964b852b84a524bf9e8b..4b82d15e14d7886920d825e166b1afb3cf2431da 100644
--- a/src/calng/preview_utils.py
+++ b/src/calng/preview_utils.py
@@ -261,6 +261,8 @@ class PreviewFriend:
                     )
             elif not inplace:
                 data = data.copy()
+            if spec.swap_axes:
+                data = np.swapaxes(data, -1, -2)
             if spec.flip_ss:
                 data = np.flip(data, -2)
             if spec.flip_fs:
@@ -322,7 +324,7 @@ class PreviewFriend:
             if subconf.has("flipFS"):
                 spec.flip_fs = subconf["flipFS"]
             if subconf.has("swapAxes"):
-                spec.flip_fs = subconf["flipFS"]
+                spec.swap_axes = subconf["swapAxes"]
             if subconf.has("replaceNanWith"):
                 spec.nan_replacement = subconf["replaceNanWith"]
 
diff --git a/src/calng/scenes.py b/src/calng/scenes.py
index 6dd86d020004f2a8ac49edada91686466a34d9ee..cfc1e76bcf09b6d5bff8f915847a4731c9adaafe 100644
--- a/src/calng/scenes.py
+++ b/src/calng/scenes.py
@@ -541,35 +541,44 @@ class RoiBox(VerticalLayout):
 class PreviewSettings(HorizontalLayout):
     def __init__(self, device_id, schema_hash, node_name):
         super().__init__()
-        tweaks = VerticalLayout(
+        tweaks = [
             EditableRow(
                 device_id,
                 schema_hash,
                 f"{node_name}.replaceNanWith",
                 6,
                 4,
-            ),
-        )
+            )
+        ]
+        flips = []
         if schema_hash.has(f"{node_name}.flipSS"):
-            tweaks.children.append(
-                HorizontalLayout(
-                    EditableRow(
-                        device_id,
-                        schema_hash,
-                        f"{node_name}.flipSS",
-                        3,
-                        2,
-                    ),
-                    EditableRow(
-                        device_id,
-                        schema_hash,
-                        f"{node_name}.flipFS",
-                        3,
-                        2,
-                    ),
-                    padding=0,
+            tweaks.append(
+                EditableRow(
+                    device_id,
+                    schema_hash,
+                    f"{node_name}.swapAxes",
+                    6,
+                    4,
                 )
             )
+            flips.append(
+                EditableRow(
+                    device_id,
+                    schema_hash,
+                    f"{node_name}.flipSS",
+                    3,
+                    2,
+                )
+            )
+        flips.append(
+            EditableRow(
+                device_id,
+                schema_hash,
+                f"{node_name}.flipFS",
+                3,
+                2,
+            )
+        )
         downsampling = VerticalLayout(
             LabelModel(
                 text="Downsampling",
@@ -593,7 +602,7 @@ class PreviewSettings(HorizontalLayout):
         )
         self.children.extend(
             [
-                tweaks,
+                VerticalLayout(children=tweaks + [HorizontalLayout(children=flips)]),
                 Vline(height=3 * BASE_INC),
                 downsampling,
             ]