diff --git a/core/state/managed_state.go b/core/state/managed_state.go
index 9d2fc48e78af0f5228a9489ba7a428e96ea376b9..97d098039196440a226c0bae5ff4c5577068fde4 100644
--- a/core/state/managed_state.go
+++ b/core/state/managed_state.go
@@ -52,8 +52,8 @@ func (ms *ManagedState) RemoveNonce(addr common.Address, n uint64) {
 
 // NewNonce returns the new canonical nonce for the managed account
 func (ms *ManagedState) NewNonce(addr common.Address) uint64 {
-	ms.mu.RLock()
-	defer ms.mu.RUnlock()
+	ms.mu.Lock()
+	defer ms.mu.Unlock()
 
 	account := ms.getAccount(addr)
 	for i, nonce := range account.nonces {