Index: /applications/editors/josm/plugins/tracer2/build.xml
===================================================================
--- /applications/editors/josm/plugins/tracer2/build.xml	(revision 30926)
+++ /applications/editors/josm/plugins/tracer2/build.xml	(revision 30927)
@@ -3,5 +3,5 @@
 
     <!-- enter the SVN commit message -->
-    <property name="commit.message" value="Add link to wiki"/>
+    <property name="commit.message" value="Fix Bug #10834"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
     <property name="plugin.main.version" value="7001"/>
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/ConnectWays.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/ConnectWays.java	(revision 30926)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/ConnectWays.java	(revision 30927)
@@ -153,4 +153,6 @@
         s_bAlt = alt;
         
+        boolean bAddWay = false;
+        
         calcDistance();
         getNodes(newWay);
@@ -161,5 +163,6 @@
         if (s_oWayOld == null) {
         	s_bAddNewWay = true;
-        	cmds.add(new AddCommand(newWay));
+        	//cmds.add(new AddCommand(newWay));
+        	bAddWay = true;
         	s_oWayOld = newWay;
         	s_oWay = new Way( newWay );
@@ -195,4 +198,36 @@
         	cmds2.addAll(connectTo());
 
+        	// add new Node
+        	Node firstNode = null;
+        	Way way = new Way(s_oWay);
+        	for (Node node : s_oWay.getNodes()) {
+        		if ( node.getDataSet() != null )
+        		{
+        			way.removeNode(node);
+        		}
+        	}
+        	if ( way.getNodes().size() > 0 )
+            {
+                if (way.firstNode() != way.lastNode() )
+                {
+                	way.addNode(way.firstNode());
+                }
+        		for (Node node : way.getNodes())
+        		{
+        			if (firstNode == null || firstNode != node) {
+        				cmds.add(new AddCommand(node));
+        			}
+        			if (firstNode == null) {
+        				firstNode = node;
+        			}
+        		}
+            }
+        	
+        	// add new way
+    		if ( bAddWay == true )
+    		{
+    			cmds.add(new AddCommand(s_oWay));
+    		}
+            
         	cmds.add(new ChangeCommand(s_oWayOld, trySplitWayByAnyNodes(s_oWay)));
         }
@@ -288,7 +323,12 @@
         newWay.removeNode(n1);
  //       cmds.add(new ChangeCommand(m_way, newWay));
+        
+        if (newWay.firstNode() != newWay.lastNode() )
+        {
+        	newWay.addNode(newWay.firstNode());
+        }
         s_oWay = new Way(newWay);
         
-        cmds.add(new DeleteCommand(n1));
+        //cmds.add(new DeleteCommand(n1));
         return cmds;
     }
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/TracerAction.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/TracerAction.java	(revision 30926)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/TracerAction.java	(revision 30927)
@@ -320,5 +320,5 @@
                     firstNode = node;
                 }
-                commands.add(new AddCommand(node));
+                //commands.add(new AddCommand(node));
                 way.addNode(node);
             }
