Index: scribus/scribusdoc.cpp =================================================================== --- scribus/scribusdoc.cpp (revision 27798) +++ scribus/scribusdoc.cpp (working copy) @@ -16161,6 +16161,21 @@ Items->insert(d, gItem); gItem->OwnPage = OnPage(gItem); } + + // Ungrouping converts the item to its new coordinate space while normal + // PageItem change tracking is bypassed. Sync the undo baselines only + // after the item has reached its final parent/page. + gItem->oldXpos = gItem->xPos(); + gItem->oldYpos = gItem->yPos(); + gItem->oldWidth = gItem->width(); + gItem->oldHeight = gItem->height(); + gItem->oldRot = gItem->rotation(); + gItem->oldOwnPage = gItem->OwnPage; + gItem->oldLocalScX = gItem->imageXScale(); + gItem->oldLocalScY = gItem->imageYScale(); + gItem->oldLocalX = gItem->imageXOffset(); + gItem->oldLocalY = gItem->imageYOffset(); + itemSelection->addItem(gItem); } if (UndoManager::undoEnabled())