diff --git a/components/common/cpp/src/timer.cpp b/components/common/cpp/src/timer.cpp
index 8b83ef6eccc77bbd45b3cf1ba3cd18cd93eef16a..b249b0f6c6655846e50ced9946dd36ad943a5cd7 100644
--- a/components/common/cpp/src/timer.cpp
+++ b/components/common/cpp/src/timer.cpp
@@ -130,6 +130,8 @@ static void waitTimePoint() {
 		now = get_time();
 	}
 	last_frame = now/mspf;
+	int64_t over = now - (last_frame*mspf);
+	if (over > 1) LOG(WARNING) << "Timer off by " << over << "ms";
 }
 
 void ftl::timer::setInterval(int ms) {
diff --git a/components/streams/src/filestream.cpp b/components/streams/src/filestream.cpp
index 61db4ce84b78f1f12e84f638c4f6eca1cb1e11ea..d7ac4bcf9e844326e121c4a9d6bb2d281dde55f3 100644
--- a/components/streams/src/filestream.cpp
+++ b/components/streams/src/filestream.cpp
@@ -206,7 +206,6 @@ void File::_patchPackets(ftl::codecs::StreamPacket &spkt, ftl::codecs::Packet &p
 	}
 
 	spkt.version = 5;
-	spkt.localTimestamp = spkt.timestamp;
 
 	// Fix for flags corruption
 	if (pkt.data.size() == 0) {
@@ -247,6 +246,8 @@ bool File::tick(int64_t ts) {
 					auto &spkt = std::get<0>(*i);
 					auto &pkt = std::get<1>(*i);
 
+					spkt.localTimestamp = spkt.timestamp;
+
 					try {
 						cb_.trigger(spkt, pkt);
 					} catch (const ftl::exception &e) {