             case OBJ_MOVE:
                 if (!moveSnap)
                 {
-                    if (axisMode == AXIS_LOCAL)
-                        adjust = editNode.rotation * adjust;
-                    editNode.position = editNode.position + adjust * moveStep;
+                    for (uint i = 0; i < selectedNodes.length; ++i)
+                    {
+                        Node@ node = selectedNodes[i];
+                        Vector3 nodeAdjust = adjust;
+                        if (axisMode == AXIS_LOCAL)
+                            nodeAdjust = node.rotation * nodeAdjust;
+                        node.position = node.position + nodeAdjust * moveStep;
+                    }
                     changed = true;
                 }
                 break;


void SteppedObjectManipulation(int key)
{
    if (editNode is null)
        return;

    // Do not react in non-snapped mode, because that is handled in frame update

            case OBJ_SCALE:
                if (!scaleSnap)
                {
                    for (uint i = 0; i < selectedNodes.length; ++i)
                    {
                        Node@ node = selectedNodes[i];
                        node.scale = node.scale + adjust * scaleStep;
                    }
                    changed = true;
                }
                break;
