diff --git a/ft/cachetable.cc b/ft/cachetable.cc
index 84b513a639a7280cdf76b03b133568f21ac129d4..7c2af585c92ba32a9935a0e90c774902e81be8ca 100644
--- a/ft/cachetable.cc
+++ b/ft/cachetable.cc
@@ -1901,9 +1901,9 @@ cachetable_unpin_internal(
     CACHETABLE ct = cachefile->cachetable;
     bool added_data_to_cachetable = false;
 
+    pair_lock(p);
     PAIR_ATTR old_attr = p->attr;
     PAIR_ATTR new_attr = attr;
-    pair_lock(p);
     if (dirty) {
         p->dirty = CACHETABLE_DIRTY;
     }