diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm
index 5bcc4b92a..1ca8ef38e 100644
--- a/lib/Slic3r/Print.pm
+++ b/lib/Slic3r/Print.pm
@@ -680,8 +680,9 @@ sub make_brim {
     for my $i (reverse 1 .. $num_loops) {
         # JT_SQUARE ensures no vertex is outside the given offset distance
         # -0.5 because islands are not represented by their centerlines
-        # TODO: we need the offset inwards/offset outwards logic to avoid overlapping extrusions
-        push @loops, offset2(\@islands, ($i - 1.5) * $flow->scaled_spacing, +1.0 * $flow->scaled_spacing, undef, JT_SQUARE);
+        # (first offset more, then step back - reverse order than the one used for 
+        # perimeters because here we're offsetting outwards)
+        push @loops, offset2(\@islands, ($i + 1.0) * $flow->scaled_spacing, -1.5 * $flow->scaled_spacing, undef, JT_SQUARE);
     }
     
     @{$self->brim} = map Slic3r::ExtrusionLoop->pack(