diff --git a/buffering_manager.go b/buffering_manager.go
index 79d4259..d581135 100644
--- a/buffering_manager.go
+++ b/buffering_manager.go
@@ -106,7 +106,7 @@
 
 // Save records to correct file based on what timestamp data is being collected for
 func save(records axRecords) error {
-	bucket, err := getBucketForTimestamp(time.Now(), records.Tenant)
+	bucket, err := getBucketForTimestamp(time.Now().UTC(), records.Tenant)
 	if err != nil {
 		return err
 	}
@@ -126,11 +126,11 @@
 	if exists {
 		return b, nil
 	} else {
-		timestamp := time.Unix(ts, 0).Format(timestampLayout)
+		timestamp := time.Unix(ts, 0).UTC().Format(timestampLayout)
 
 		// endtimestamp of bucket = starttimestamp + collectionInterval
 		endTime := time.Unix(ts+int64(config.GetInt(analyticsCollectionInterval)), 0)
-		endtimestamp := endTime.Format(timestampLayout)
+		endtimestamp := endTime.UTC().Format(timestampLayout)
 
 		dirName := tenant.Org + "~" + tenant.Env + "~" + timestamp
 		newPath := filepath.Join(localAnalyticsTempDir, dirName)
@@ -161,7 +161,7 @@
 
 		//Send event to close directory after endTime + 5
 		// seconds to make sure all buffers are flushed to file
-		timer := time.After(endTime.Sub(time.Now()) + time.Second*5)
+		timer := time.After(endTime.Sub(time.Now().UTC()) + time.Second*5)
 		go func() {
 			<-timer
 			closeBucketEvent <- newBucket
diff --git a/buffering_manager_test.go b/buffering_manager_test.go
index c3c747e..42cd512 100644
--- a/buffering_manager_test.go
+++ b/buffering_manager_test.go
@@ -12,7 +12,7 @@
 
 var _ = Describe("test getBucketForTimestamp()", func() {
 	It("should return new bucket or existing bucket if created previously", func() {
-		t := time.Date(2017, 1, 20, 10, 24, 5, 0, time.Local)
+		t := time.Date(2017, 1, 20, 10, 24, 5, 0, time.UTC)
 		tenant := tenant{Org: "testorg", Env: "testenv", TenantId: "tenantid"}
 
 		bucket, err := getBucketForTimestamp(t, tenant)
@@ -25,7 +25,7 @@
 		Expect(fw.file.Name()).To(ContainSubstring("20170120102400.20170120102600"))
 
 		// Should return existing bucket if same interval timestamp is passed
-		t2 := time.Date(2017, 1, 20, 10, 25, 5, 0, time.Local)
+		t2 := time.Date(2017, 1, 20, 10, 25, 5, 0, time.UTC)
 		bucket, err = getBucketForTimestamp(t2, tenant)
 		Expect(err).ShouldNot(HaveOccurred())
 		Expect(bucket.DirName).To(Equal("testorg~testenv~20170120102400"))
