diff --git a/cmd/kaspaminer/mineloop.go b/cmd/kaspaminer/mineloop.go
index 594f9811e..d07da2f19 100644
--- a/cmd/kaspaminer/mineloop.go
+++ b/cmd/kaspaminer/mineloop.go
@@ -167,6 +167,8 @@ func templatesLoop(client *minerClient, miningAddr util.Address,
 		newTemplateChan <- template
 	}
 	getBlockTemplate()
+	const tickerTime = 500 * time.Millisecond
+	ticker := time.NewTicker(tickerTime)
 	for {
 		select {
 		case <-stopChan:
@@ -174,7 +176,8 @@ func templatesLoop(client *minerClient, miningAddr util.Address,
 			return
 		case <-client.blockAddedNotificationChan:
 			getBlockTemplate()
-		case <-time.Tick(500 * time.Millisecond):
+			ticker.Reset(tickerTime)
+		case <-ticker.C:
 			getBlockTemplate()
 		}
 	}
diff --git a/infrastructure/network/connmanager/connmanager.go b/infrastructure/network/connmanager/connmanager.go
index 8a5392049..33dbe1bed 100644
--- a/infrastructure/network/connmanager/connmanager.go
+++ b/infrastructure/network/connmanager/connmanager.go
@@ -147,8 +147,7 @@ func (c *ConnectionManager) IsBanned(netConnection *netadapter.NetConnection) (b
 func (c *ConnectionManager) waitTillNextIteration() {
 	select {
 	case <-c.resetLoopChan:
-		c.loopTicker.Stop()
-		c.loopTicker = time.NewTicker(connectionsLoopInterval)
+		c.loopTicker.Reset(connectionsLoopInterval)
 	case <-c.loopTicker.C:
 	}
 }