diff --git a/flymaster-client.js b/flymaster-client.js
index 63f363a..1d7bd75 100644
--- a/flymaster-client.js
+++ b/flymaster-client.js
@@ -399,12 +399,12 @@ window.FlymasterClient = class FlymasterClient {
     const view = new DataView(data.buffer);
 
     return {
-      fix: data[16],
-      latitude: view.getInt32(0, true),      // little-endian
-      longitude: view.getInt32(4, true),     // little-endian
-      gpsaltitude: view.getInt16(8, true),   // little-endian
-      baro: view.getInt16(10, true),         // little-endian
-      time: view.getUint32(12, true)         // little-endian
+      fix: view.getInt8(0),
+      latitude: view.getInt32(1, true),      // little-endian
+      longitude: view.getInt32(5, true),     // little-endian
+      gpsaltitude: view.getInt16(9, true),   // little-endian
+      baro: view.getInt16(11, true),         // little-endian
+      time: view.getUint32(13, true)         // little-endian
     };
   }
 
@@ -422,12 +422,12 @@ window.FlymasterClient = class FlymasterClient {
 
     for (let i = 0; i + DELTA_SIZE <= data.length; i += DELTA_SIZE) {
       const delta = {
-        fix: data[i],
+        fix: view.getInt8(i),
         latoff: view.getInt8(i + 1),
         lonoff: view.getInt8(i + 2),
         gpsaltoff: view.getInt8(i + 3),
         baroff: view.getInt8(i + 4),
-        timeoff: data[i + 5]
+        timeoff: view.getUint8(i + 5)
       };
 
       deltas.push(delta);