diff --git a/src/apps/rednatco/viewer.ts b/src/apps/rednatco/viewer.ts
index a2fc2f7e85b963052214dcac149214326818e19b..7f9cd8621f1b01ccf88dae371e28aa2a199b0f02 100644
--- a/src/apps/rednatco/viewer.ts
+++ b/src/apps/rednatco/viewer.ts
@@ -967,32 +967,40 @@ export class ReDNATCOMspViewer {
     }
 
     async actionApplyFilter(filter: Filters.All) {
-        await this.plugin.state.data.build()
-            .to(IDs.ID('structure', 'nucleic', BaseRef))
-            .update(
-                StateTransforms.Model.StructureSelectionFromExpression,
-                old => ({
-                    ...old,
-                    expression: Filtering.toExpression(filter)
-                })
-            )
-            .to(IDs.ID('structure', 'protein', BaseRef))
-            .update(
-                StateTransforms.Model.StructureSelectionFromExpression,
-                old => ({
-                    ...old,
-                    expression: Filtering.toExpression(filter)
-                })
-            )
-            .to(IDs.ID('structure', 'protein', BaseRef))
-            .update(
-                StateTransforms.Model.StructureSelectionFromExpression,
-                old => ({
-                    ...old,
-                    expression: Filtering.toExpression(filter)
-                })
-            )
-            .commit();
+        const b = this.plugin.state.data.build();
+        if (this.has('structure', 'nucleic', BaseRef)) {
+            b.to(IDs.ID('structure', 'nucleic', BaseRef))
+                .update(
+                    StateTransforms.Model.StructureSelectionFromExpression,
+                    old => ({
+                        ...old,
+                        expression: Filtering.toExpression(filter)
+                    })
+                );
+        }
+
+        if (this.has('structure', 'protein', BaseRef)) {
+            b.to(IDs.ID('structure', 'protein', BaseRef))
+                .update(
+                    StateTransforms.Model.StructureSelectionFromExpression,
+                    old => ({
+                        ...old,
+                        expression: Filtering.toExpression(filter)
+                    })
+                );
+        }
+
+        if (this.has('structure', 'water', BaseRef)) {
+            b.to(IDs.ID('structure', 'water', BaseRef))
+                .update(
+                    StateTransforms.Model.StructureSelectionFromExpression,
+                    old => ({
+                        ...old,
+                        expression: Filtering.toExpression(filter)
+                    })
+                );
+        }
+        await b.commit();
 
         return true;
     }