summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/grafts.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/guix/grafts.scm b/guix/grafts.scm
index 2006d3908e..b60c8cfd90 100644
--- a/guix/grafts.scm
+++ b/guix/grafts.scm
@@ -222,8 +222,9 @@ available."
        (return result))
       (#f                                         ;cache miss
        (mlet %state-monad ((result (begin exp ...)))
-         (set-current-state (vhash-consq key result cache))
-         (return result))))))
+         (mbegin %state-monad
+           (set-current-state (vhash-consq key result cache))
+           (return result)))))))
 
 (define* (cumulative-grafts store drv grafts
                             references