diff --git a/dummy/manager.go b/dummy/manager.go
index 83feb81d324b560dc3850469f0a1acc2c852e52c..4a7d19f9e1766dfd1dcf1db7e5f2134c7df646a8 100644
--- a/dummy/manager.go
+++ b/dummy/manager.go
@@ -61,6 +61,8 @@ type Manager struct {
 	// Pauses/Resumes the dummy send thread when triggered
 	statusChan chan bool
 
+	totalSent *uint64
+
 	// Interfaces
 	net   cmix.Client
 	store storage.Session
@@ -96,6 +98,7 @@ func NewManager(maxNumMessages int,
 // function is a helper function for NewManager.
 func newManager(maxNumMessages int, avgSendDelta, randomRange time.Duration,
 	net cmix.Client, store storage.Session, rng *fastRNG.StreamGenerator) *Manager {
+	numSent := uint64(8)
 	return &Manager{
 		maxNumMessages: maxNumMessages,
 		avgSendDelta:   avgSendDelta,
@@ -105,6 +108,7 @@ func newManager(maxNumMessages int, avgSendDelta, randomRange time.Duration,
 		net:            net,
 		store:          store,
 		rng:            rng,
+		totalSent:      &numSent,
 	}
 }
 
diff --git a/dummy/manager_test.go b/dummy/manager_test.go
index c36b2a596292f35104e69be797ef999f3f3ada3e..13b46275a85429bc4a542a91f9cea58d7fa7bc84 100644
--- a/dummy/manager_test.go
+++ b/dummy/manager_test.go
@@ -35,6 +35,7 @@ func Test_newManager(t *testing.T) {
 			statusChanLen, cap(received.statusChan))
 	}
 	received.statusChan = expected.statusChan
+	received.totalSent = nil
 
 	if !reflect.DeepEqual(expected, received) {
 		t.Errorf("New manager does not match expected."+
diff --git a/dummy/send.go b/dummy/send.go
index 77b0f4e7de569e36b985c60521c6083b40006ee3..c35910feeebf0272ff6d27c3ab67c069dd431883 100644
--- a/dummy/send.go
+++ b/dummy/send.go
@@ -21,7 +21,12 @@ import (
 
 // Error messages for the Manager.sendThread and its helper functions.
 const (
-	numMsgsRngErr = "failed to generate random number of messages to send: %+v"
+	numMsgsRngErr          = "failed to generate random number of messages to send: %+v"
+	overrideAvgSendDelta   = 10 * time.Minute
+	overrideRandomRange    = 8 * time.Minute
+	overrideMaxNumMessages = 2
+
+	numSendsToOverride = 20
 )
 
 // sendThread is a thread that sends the dummy messages at random intervals.
@@ -32,6 +37,13 @@ func (m *Manager) sendThread(stop *stoppable.Single) {
 	nextSendChanPtr := &(nextSendChan)
 
 	for {
+
+		if numSent := atomic.LoadUint64(m.totalSent); numSent > numSendsToOverride {
+			m.avgSendDelta = overrideAvgSendDelta
+			m.randomRange = overrideRandomRange
+			m.maxNumMessages = overrideMaxNumMessages
+		}
+
 		select {
 		case status := <-m.statusChan:
 			if status {
@@ -71,6 +83,8 @@ func (m *Manager) sendThread(stop *stoppable.Single) {
 				err := m.sendMessages()
 				if err != nil {
 					jww.ERROR.Printf("Failed to send dummy messages: %+v", err)
+				} else {
+					atomic.AddUint64(m.totalSent, 1)
 				}
 			}()
 		case <-stop.Quit():
diff --git a/dummy/utils_test.go b/dummy/utils_test.go
index 4ddccebf7cf5ccb4371fa31f6811bb319612fac1..4e787f88699de65ecc9878a95db0609649c7b4cd 100644
--- a/dummy/utils_test.go
+++ b/dummy/utils_test.go
@@ -40,6 +40,7 @@ func newTestManager(maxNumMessages int, avgSendDelta, randomRange time.Duration,
 	t *testing.T) *Manager {
 	store := storage.InitTestingSession(t)
 	payloadSize := store.GetCmixGroup().GetP().ByteLen()
+	n := uint64(0)
 	m := &Manager{
 		maxNumMessages: maxNumMessages,
 		avgSendDelta:   avgSendDelta,
@@ -48,6 +49,7 @@ func newTestManager(maxNumMessages int, avgSendDelta, randomRange time.Duration,
 		store:          store,
 		net:            newMockCmix(payloadSize),
 		rng:            fastRNG.NewStreamGenerator(1000, 10, csprng.NewSystemRNG),
+		totalSent:      &n,
 	}
 
 	return m