diff --git a/rtree-c/src/ReduceC.hs b/rtree-c/src/ReduceC.hs
index 9159349ab9601d9d6a81b9361b4f3cacc036c0d3..d066856c232e59893ff2a3fec17e2adf2ce785e7 100644
--- a/rtree-c/src/ReduceC.hs
+++ b/rtree-c/src/ReduceC.hs
@@ -119,7 +119,7 @@ reduceCTranslUnit (C.CTranslUnit es ni) ctx = do
   functions2 <- do
     funmap' <- reduce funmap
     if ComputeFunctionFixpoint `isIn` ctx
-      then reduce funmap
+      then reduce funmap'
       else pure funmap'
 
   functions3 <- forM functions2 \(k, mf) ->