diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp
index 3075d11ed..a19386950 100644
--- a/src/slic3r/GUI/Plater.cpp
+++ b/src/slic3r/GUI/Plater.cpp
@@ -3128,11 +3128,14 @@ void Plater::priv::reload_from_disk()
                 object->add_volume(*v);
         }
 
+        Vec3d offset = object_orig->origin_translation - object->origin_translation;
+
         if (object->volumes.size() == object_orig->volumes.size())
         {
             for (size_t i = 0; i < object->volumes.size(); i++)
             {
                 object->volumes[i]->config.apply(object_orig->volumes[i]->config);
+                object->volumes[i]->translate(offset);
             }
         }