diff --git a/lib/Slic3r/Surface.pm b/lib/Slic3r/Surface.pm
index 95a97d7cc..238229bd0 100644
--- a/lib/Slic3r/Surface.pm
+++ b/lib/Slic3r/Surface.pm
@@ -39,10 +39,10 @@ sub group {
 
 sub offset {
     my $self = shift;
-    return (ref $self)->new(
-        expolygon => $self->expolygon->offset_ex(@_),
+    return map (ref $self)->new(
+        expolygon => $_,
         map { $_ => $self->$_ } qw(surface_type depth_layers bridge_angle),
-    );
+    ), $self->expolygon->offset_ex(@_);
 }
 
 sub add_hole {