diff --git a/tools/qt-faststart.c b/tools/qt-faststart.c
index 489c1ab234fb424df4c2b0e6e03844933eee48ab..cb36c4331efc8d8dc5f4ad66c7126d3b607e51ef 100644
--- a/tools/qt-faststart.c
+++ b/tools/qt-faststart.c
@@ -240,7 +240,7 @@ int main(int argc, char *argv[])
                 goto error_out;
             }
             for (j = 0; j < offset_count; j++) {
-                current_offset  = BE_32(&moov_atom[i + 12 + j * 4]);
+                current_offset  = (uint32_t)BE_32(&moov_atom[i + 12 + j * 4]);
                 current_offset += moov_atom_size;
                 moov_atom[i + 12 + j * 4 + 0] = (current_offset >> 24) & 0xFF;
                 moov_atom[i + 12 + j * 4 + 1] = (current_offset >> 16) & 0xFF;