diff --git a/src/server/surface_interface.cpp b/src/server/surface_interface.cpp
index 361849e..05988ac 100644
--- a/src/server/surface_interface.cpp
+++ b/src/server/surface_interface.cpp
@@ -374,6 +374,7 @@ void SurfaceInterface::Private::swapStates(State *source, State *target, bool em
// copy values
if (bufferChanged) {
target->buffer = buffer;
+ target->offset = source->offset;
target->damage = source->damage;
target->bufferDamage = source->bufferDamage;
target->bufferIsSet = source->bufferIsSet;