Index: trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 9244)
+++ trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java	(revision 9245)
@@ -19,4 +19,5 @@
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.swing.DefaultListCellRenderer;
@@ -132,4 +133,10 @@
     public void actionPerformed(ActionEvent e) {
 
+        if (SegmentToKeepSelectionDialog.DISPLAY_COUNT.get() > 0) {
+            new Notification(tr("Cannot split since another split operation is already in progress"))
+                    .setIcon(JOptionPane.WARNING_MESSAGE).show();
+            return;
+        }
+
         Collection<OsmPrimitive> selection = getCurrentDataSet().getSelected();
 
@@ -216,4 +223,5 @@
      */
     static class SegmentToKeepSelectionDialog extends ExtendedDialog {
+        static final AtomicInteger DISPLAY_COUNT = new AtomicInteger();
         final Way selectedWay;
         final List<Way> newWays;
@@ -238,4 +246,5 @@
             pane.add(list, GBC.eop().fill(GBC.HORIZONTAL));
             setContent(pane);
+            setDefaultCloseOperation(HIDE_ON_CLOSE);
         }
 
@@ -283,7 +292,9 @@
             super.setVisible(visible);
             if (visible) {
+                DISPLAY_COUNT.incrementAndGet();
                 list.setSelectedValue(wayToKeep, true);
             } else {
                 setHighlightedWaySegments(Collections.<WaySegment>emptyList());
+                DISPLAY_COUNT.decrementAndGet();
             }
         }
