Index: applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java
===================================================================
--- applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java	(revision 23382)
+++ applications/editors/josm/plugins/smed/plugs/oseam/src/oseam/dialogs/OSeaMAction.java	(revision 23387)
@@ -762,6 +762,8 @@
 
 					case SeaMark.UNKNOWN_TYPE:
-						if (!(buoy instanceof BuoyUkn))
+						if (!(buoy instanceof BuoyUkn)) {
+							buoy = null;
 							buoy = new BuoyUkn(dia, Messages.getString("SmpDialogAction.150")); //$NON-NLS-1$
+						}
 						buoy.setBuoyIndex(0);
 						break;
@@ -769,4 +771,5 @@
 					case SeaMark.LATERAL:
 						if (!(buoy instanceof BuoyLat)) {
+							buoy = null;
 							buoy = new BuoyLat(dia, n);
 							buoy.setBuoyIndex(0);
@@ -776,4 +779,5 @@
 					case SeaMark.CARDINAL:
 						if (!(buoy instanceof BuoyCard)) {
+							buoy = null;
 							buoy = new BuoyCard(dia, n);
 							buoy.setBuoyIndex(0);
@@ -783,4 +787,5 @@
 					case SeaMark.SAFE_WATER:
 						if (!(buoy instanceof BuoySaw)) {
+							buoy = null;
 							buoy = new BuoySaw(dia, n);
 						}
@@ -790,4 +795,5 @@
 					case SeaMark.ISOLATED_DANGER:
 						if (!(buoy instanceof BuoyIsol)) {
+							buoy = null;
 							buoy = new BuoyIsol(dia, n);
 						}
@@ -797,4 +803,5 @@
 					case SeaMark.SPECIAL_PURPOSE:
 						if (!(buoy instanceof BuoySpec)) {
+							buoy = null;
 							buoy = new BuoySpec(dia, n);
 						}
@@ -804,4 +811,5 @@
 					case SeaMark.LIGHT:
 						if (!(buoy instanceof BuoyNota)) {
+							buoy = null;
 							buoy = new BuoyNota(dia, n);
 							buoy.setBuoyIndex(0);
