diff --git a/src/WSEvents.cpp b/src/WSEvents.cpp
index 78635119..ee9b86e1 100644
--- a/src/WSEvents.cpp
+++ b/src/WSEvents.cpp
@@ -30,17 +30,17 @@
 #define STATUS_INTERVAL 2000
 
 const char* nsToTimestamp(uint64_t ns) {
-	uint64_t ms = ns / (1000 * 1000);
-	uint64_t secs = ms / 1000;
-	uint64_t minutes = secs / 60;
+	uint64_t ms = ns / 1000000ULL;
+	uint64_t secs = ms / 1000ULL;
+	uint64_t minutes = secs / 60ULL;
 
-	uint64_t hoursPart = minutes / 60;
-	uint64_t minutesPart = minutes % 60;
-	uint64_t secsPart = secs % 60;
-	uint64_t msPart = ms % 1000;
+	uint64_t hoursPart = minutes / 60ULL;
+	uint64_t minutesPart = minutes % 60ULL;
+	uint64_t secsPart = secs % 60ULL;
+	uint64_t msPart = ms % 1000ULL;
 
 	char* ts = (char*)bmalloc(64);
-	sprintf(ts, "%02lu:%02lu:%02lu.%03lu", hoursPart, minutesPart, secsPart, msPart);
+	sprintf(ts, "%02llu:%02llu:%02llu.%03llu", hoursPart, minutesPart, secsPart, msPart);
 
 	return ts;
 }