diff --git a/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m b/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m
index 5708a0ce93d361b0e78eb732f514d5e2f11819bf..c200a4bd33b1b4c76b0f6c9cba4bd95419c59915 100644
--- a/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m
+++ b/lib/+artoa/+controller/+edit/+pressure/applyStatusToAllPointsExceptDeleted.m
@@ -6,7 +6,7 @@ function [] = applyStatusToAllPointsExceptDeleted(pStatus)
 %       pStatusCode (int)    The status code that will be applied to the
 %                            selected data.
 
-global artoaWorkspace;
+global artoaWorkspace artoaGui;
 
 %% Set selection
 artoaWorkspace.editPressure.selectedPoints = (artoaWorkspace.statusPressure ~= 2);
@@ -17,8 +17,9 @@ artoaWorkspace.statusPressure(artoaWorkspace.editPressure.selectedPoints) = pSta
 %% Update gui
 artoa.controller.edit.updateAvailablePlots();
 
-%% Remove the selected points from workspace
-artoaWorkspace.editPressure = rmfield(artoaWorkspace.editPressure, 'selectedPoints');
+[artoaGui.editPressure, artoaWorkspace.editPressure] = ...
+    artoa.controller.edit.clearSelection(artoaGui.editPressure, artoaWorkspace.editPressure);
+
 
 end
 
diff --git a/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m b/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m
index 7949351b9d5c3b97ce35edb7609e6f51d89d1e16..ef5986df633a8b2a2e26a59e9eb2b5b2e2c9db02 100644
--- a/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m
+++ b/lib/+artoa/+controller/+edit/+pressure/applyStatusToSelectedPoints.m
@@ -25,11 +25,9 @@ artoaWorkspace.statusPressure(artoaWorkspace.editPressure.selectedPoints) = pSta
 
 %% Update gui
 artoa.controller.edit.updateAvailablePlots();
-delete(artoaGui.editPressure.selectedPolygon);
-artoaGui.editPressure = rmfield(artoaGui.editPressure, 'selectedPolygon');
 
-%% Remove the polygon field from workspace
-artoaWorkspace.editPressure = rmfield(artoaWorkspace.editPressure, 'selectedPoints');
+[artoaGui.editPressure, artoaWorkspace.editPressure] = ...
+    artoa.controller.edit.clearSelection(artoaGui.editPressure, artoaWorkspace.editPressure);
 
 end
 
diff --git a/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m b/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m
index ddf702fb0f1698e9f734b412eb893fa27a713cb1..557a995ea3236e3fb4f79ae03be6b4efe7878462 100644
--- a/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m
+++ b/lib/+artoa/+controller/+edit/+temperature/applyStatusToAllPointsExceptDeleted.m
@@ -6,7 +6,7 @@ function [] = applyStatusToAllPointsExceptDeleted(pStatus)
 %       pStatusCode (int)    The status code that will be applied to the
 %                            selected data.
 
-global artoaWorkspace;
+global artoaWorkspace artoaGui;
 
 %% Set selection
 artoaWorkspace.editTemperature.selectedPoints = (artoaWorkspace.statusTemperature ~= 2);
@@ -17,8 +17,8 @@ artoaWorkspace.statusTemperature(artoaWorkspace.editTemperature.selectedPoints)
 %% Update gui
 artoa.controller.edit.updateAvailablePlots();
 
-%% Remove the selected points from workspace
-artoaWorkspace.editTemperature = rmfield(artoaWorkspace.editTemperature, 'selectedPoints');
 
+[artoaGui.editTemperature, artoaWorkspace.editTemperature] = ...
+    artoa.controller.edit.clearSelection(artoaGui.editTemperature, artoaWorkspace.editTemperature);
 end
 
diff --git a/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m b/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m
index ce21de6f0f1cfce355071241a684b80cd8863e49..e549ebe6f70bd669f0e215b3738413eca910eb8d 100644
--- a/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m
+++ b/lib/+artoa/+controller/+edit/+temperature/applyStatusToSelectedPoints.m
@@ -25,11 +25,9 @@ artoaWorkspace.statusTemperature(artoaWorkspace.editTemperature.selectedPoints)
 
 %% Update gui
 artoa.controller.edit.updateAvailablePlots();
-delete(artoaGui.editTemperature.selectedPolygon);
-artoaGui.editTemperature = rmfield(artoaGui.editTemperature, 'selectedPolygon');
 
-%% Remove the polygon field from workspace
-artoaWorkspace.editTemperature = rmfield(artoaWorkspace.editTemperature, 'selectedPoints');
+[artoaGui.editTemperature, artoaWorkspace.editTemperature] = ...
+    artoa.controller.edit.clearSelection(artoaGui.editTemperature, artoaWorkspace.editTemperature);
 
 end
 
diff --git a/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m b/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m
index 5d8a560dfb6156c499c6339e9937a2536a56cfb9..b1c6d443c857d434c2e35addd6c12c1e3cd0f520 100644
--- a/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m
+++ b/lib/+artoa/+controller/+edit/+timeOfArrival/applyStatusToSelectedPoints.m
@@ -24,12 +24,9 @@ end
 artoaWorkspace.toaData.status(artoaWorkspace.editTimeOfArrival.selectedPoints) = pStatusCode;
 
 %% Update gui
-artoa.controller.edit.timeOfArrival.plot();
-delete(artoaGui.editTimeOfArrival.selectedPolygon);
-artoaGui.editTimeOfArrival = rmfield(artoaGui.editTimeOfArrival, 'selectedPolygon');
-
-%% Remove the polygon field from workspace
-artoaWorkspace.editTimeOfArrival = rmfield(artoaWorkspace.editTimeOfArrival, 'selectedPoints');
+artoa.controller.edit.updateAvailablePlots();
 
+[artoaGui.editTimeOfArrival, artoaWorkspace.editTimeOfArrival] = ...
+    artoa.controller.edit.clearSelection(artoaGui.editTimeOfArrival, artoaWorkspace.editTimeOfArrival);
 end
 
diff --git a/lib/+artoa/+controller/+edit/clearSelection.m b/lib/+artoa/+controller/+edit/clearSelection.m
new file mode 100644
index 0000000000000000000000000000000000000000..721e7ea322a6f0eeac46d2080e6575e7309a498c
--- /dev/null
+++ b/lib/+artoa/+controller/+edit/clearSelection.m
@@ -0,0 +1,20 @@
+function [guiHandle, workspaceStruct] = clearSelection(pGuiHandle, pWorkspaceStruct)
+%CLEARSELECTION If the fields in the given parameters are available, they will be deleted.
+%   
+
+guiHandle = pGuiHandle;
+workspaceStruct = pWorkspaceStruct;
+
+%% Remove polygon from gui
+if isfield(guiHandle, 'selectedPolygon')
+    delete(guiHandle.selectedPolygon);
+    guiHandle = rmfield(guiHandle, 'selectedPolygon');
+end
+
+%% Remove the polygon field from workspace
+if (isfield(workspaceStruct, 'selectedPoints'))
+    workspaceStruct = rmfield(workspaceStruct, 'selectedPoints');
+end
+
+end
+