diff --git a/js/id/actions/circularize.js b/js/id/actions/circularize.js index b74dfd976..4dcfc0a21 100644 --- a/js/id/actions/circularize.js +++ b/js/id/actions/circularize.js @@ -42,7 +42,8 @@ iD.actions.Circularize = function(wayId, projection, count) { } ids.push(ids[0]); - graph = graph.replace(way.update({nodes: ids})); + way = way.update({nodes: ids}); + graph = graph.replace(way); for (i = 0; i < nodes.length; i++) { graph.parentWays(nodes[i]).forEach(function(parent) { diff --git a/test/spec/actions/circularize.js b/test/spec/actions/circularize.js index 8215c2253..1b846c6f3 100644 --- a/test/spec/actions/circularize.js +++ b/test/spec/actions/circularize.js @@ -49,7 +49,8 @@ describe("iD.actions.Circularize", function () { 'b': iD.Node({id: 'b', loc: [2, 0]}), 'c': iD.Node({id: 'c', loc: [2, 2]}), 'd': iD.Node({id: 'd', loc: [0, 2]}), - '-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'd', 'a']}), + 'e': iD.Node({id: 'e', loc: [1, 1]}), + '-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'd', 'e', 'a']}), '=': iD.Way({id: '=', nodes: ['d']}) });