Slic3r start gcode

I’m trying to get my startup routine optimized in Slic3r (among other things), and I’m having some trouble. Here’s what I’ve got:

G21                     ;metric values
G90                     ;absolute positioning
M82                     ;set extruder to absolute mode
M107                    ;start with the fan off
G28 X0 Y0               ;move X/Y to min endstops
G28 Z0                  ;move Z to min endstops
G1 Z15.0 	;move the platform down 15mm
G92 E0                  ; zero the extruded length
G1 F200 E0              ; extrude 3mm of feed stock
G92 E0                  ; zero the extruded length again
M117 Printing...        ; send message to LCD

From what I understand, this should go X-Y home, Z-home, Z+15mm, extrude 3mm, then head to the rest of the gcode to start printing.

However, instead it seems to be moving from Z=0 to the gcode start position. While it isn’t dragging on the bed, because there’s enough clearance, this doesn’t seem like the best procedure. Any thoughts on what I’m doing wrong, or does anybody have a great TAZ 5 slic3r start/end gcode or filament profile?

That’s the way slic3r is working. Set z first, then move to x, y. It’s not moving to z=0, but z=your first layer height.