diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index 5804c5997598dc58cb8ba6d3cfc74640c6311134..7c786bd5e575af1a052ad3000d624bd7105064de 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -5609,6 +5609,9 @@ static inline void mte_destroy_walk(struct maple_enode *enode,
 
 static void mas_wr_store_setup(struct ma_wr_state *wr_mas)
 {
+	if (unlikely(mas_is_paused(wr_mas->mas)))
+		mas_reset(wr_mas->mas);
+
 	if (!mas_is_start(wr_mas->mas)) {
 		if (mas_is_none(wr_mas->mas)) {
 			mas_reset(wr_mas->mas);