6% is not an awfully large discrepancy in /elevation/ change if the device in question is purely using gps (which I assume to be the case, but don't know). GPS altitude values are considerably less precise than lat/lon values (due to the geometry: narrow angle of the intersecting lines from the various satellites in the vertical dimension. As well as that, there's a possible effect of sampling rate: most gps devices can be set to sample position at different rates. Typically, they'll default to one second, but the two devices could be set to different rates, which means you could 'miss' small elevation changes on one device, but not the other (imagine one is set to a minute and you ascend 20 metres in that minute, but also descend 20 metres: the '1 minute device' will record no ascent; the '1 second device' will record 20 metres.
Even if they're both at the same sample rate the variations in exactly when they record, combined with the gps vertical accuracy 'issue' means that the sort of error you're seeing is not at all surprising.
If you want better accuracy you need to combine gps data with a barometric altimeter (if those devices do that then ......disregard the above as an explanation!).
In summary: assuming it's pure gps data you're collecting, then it is normal.
Incidentally, the sample rate thing will affect horizontal accuracy too: if you have a long sample rate and you're on a curved road, it becomes a series of straight lines and the total will be less than you travelled. Again, at the 1 second sample rate that I imagine they default to, this effect will be negligible. The thing to look for is battery saving options: battery usage is typically saved by lowering the sample rate, so all the above effects start to apply unless you're travelling in a remarkably straight line at a constant slope!