diff --git a/applications/reconstruct2/src/main.cpp b/applications/reconstruct2/src/main.cpp
index a7e94f5012f4abced96a65933ee868bbecbd11e4..1a0bb7c59ccb5af1c94657262bc5dc8b5f1848fc 100644
--- a/applications/reconstruct2/src/main.cpp
+++ b/applications/reconstruct2/src/main.cpp
@@ -128,6 +128,7 @@ static void run(ftl::Configurable *root) {
 	net->shutdown();
 	LOG(INFO) << "Stopping...";
 	ftl::timer::stop(true);
+	LOG(INFO) << "Timer stopped...";
 	ftl::pool.stop(true);
 	LOG(INFO) << "All threads stopped.";
 
diff --git a/components/streams/src/netstream.cpp b/components/streams/src/netstream.cpp
index 00910ec93d9fdcbad248bae8387e375bbd4cfec4..0d6fba6570be8bec847ac9d49994ce3079e115fb 100644
--- a/components/streams/src/netstream.cpp
+++ b/components/streams/src/netstream.cpp
@@ -104,7 +104,7 @@ bool Net::post(const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet
 
 				try {
 					// FIXME: This doesn't work for file sources with file relative timestamps...
-					short pre_transmit_latency = short(ftl::timer::get_time() - spkt.timestamp);
+					short pre_transmit_latency = short(ftl::timer::get_time() - spkt.localTimestamp);
 
 					if (!net_->send(client.peerid,
 							base_uri_,
@@ -125,7 +125,7 @@ bool Net::post(const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet
 			}
 		} else {
 			try {
-				short pre_transmit_latency = short(ftl::timer::get_time() - spkt.timestamp);
+				short pre_transmit_latency = short(ftl::timer::get_time() - spkt.localTimestamp);
 				if (!net_->send(peer_,
 						base_uri_,
 						pre_transmit_latency,  // Time since timestamp for tx
@@ -170,7 +170,7 @@ bool Net::begin() {
 		StreamPacket spkt = spkt_raw;
 		// FIXME: see #335
 		//spkt.timestamp -= clock_adjust_;
-		spkt.localTimestamp = now - ttimeoff;
+		spkt.localTimestamp = now - int64_t(ttimeoff);
 		spkt.hint_capability = 0;
 		spkt.hint_source_total = 0;
 		//LOG(INFO) << "LATENCY: " << ftl::timer::get_time() - spkt.localTimestamp() << " : " << spkt.timestamp << " - " << clock_adjust_;