diff --git a/cmd/swarm/swarm-smoke/upload_and_sync.go b/cmd/swarm/swarm-smoke/upload_and_sync.go
index d605f79a3a49142d3ae4b8573fbd1559afcbb1e0..728975c36bd392b68c823e31750c25abb854d08e 100644
--- a/cmd/swarm/swarm-smoke/upload_and_sync.go
+++ b/cmd/swarm/swarm-smoke/upload_and_sync.go
@@ -125,30 +125,28 @@ func uploadAndSync(c *cli.Context) error {
 			for {
 				start := time.Now()
 				err := fetch(hash, endpoint, fhash, ruid)
-				fetchTime := time.Since(start)
 				if err != nil {
 					continue
 				}
 
-				metrics.GetOrRegisterMeter("upload-and-sync.single.fetch-time", nil).Mark(int64(fetchTime))
+				metrics.GetOrRegisterResettingTimer("upload-and-sync.single.fetch-time", nil).UpdateSince(start)
 				wg.Done()
 				return
 			}
 		}(endpoints[randIndex], ruid)
 	} else {
-		for _, endpoint := range endpoints {
+		for _, endpoint := range endpoints[1:] {
 			ruid := uuid.New()[:8]
 			wg.Add(1)
 			go func(endpoint string, ruid string) {
 				for {
 					start := time.Now()
 					err := fetch(hash, endpoint, fhash, ruid)
-					fetchTime := time.Since(start)
 					if err != nil {
 						continue
 					}
 
-					metrics.GetOrRegisterMeter("upload-and-sync.each.fetch-time", nil).Mark(int64(fetchTime))
+					metrics.GetOrRegisterResettingTimer("upload-and-sync.each.fetch-time", nil).UpdateSince(start)
 					wg.Done()
 					return
 				}