diff --git a/Control/Workflow.hs b/Control/Workflow.hs
--- a/Control/Workflow.hs
+++ b/Control/Workflow.hs
@@ -954,16 +954,15 @@
   wfref= do
      let ref = getDBRef $ keyResource stat0{wfName= keyWF wfname  v}
      s@Stat{..} <- readDBRef ref `onNothing` error ("getWFRef: not found "++ wfname)
-     let  n1=  if recover  then n else state  - n
-          mr= (safeFromIDyn $ versions  !! n1) `asTypeOf` typeOfRef wfref
+     let (n,flag)= if recover
+                          then (state  - (L.length  versions ) -1 ,False)
+                          else (state - 1 ,True)
+
+         mr= (safeFromIDyn $ versions  !! n) `asTypeOf` typeOfRef wfref
      case mr `seq` mr of
        Left s -> return $ Left s
        Right r -> do
-          let (n,flag)= if recover
-                          then (state  - (L.length  versions ) -1  ,False)
-                          else (state -1 ,True)
-
-              s'= s{references= (n,(toIDyn r,flag)):references }
+          let s'= s{references= (n,(toIDyn r,flag)):references }
           writeDBRef self s'
           return . Right $ WFRef n ref
 
diff --git a/Workflow.cabal b/Workflow.cabal
--- a/Workflow.cabal
+++ b/Workflow.cabal
@@ -1,5 +1,5 @@
 name: Workflow
-version: 0.8.0.4
+version: 0.8.0.5
 cabal-version: >= 1.6
 build-type: Simple
 license: BSD3
@@ -22,7 +22,7 @@
              See "Control.Workflow" for details
              .
              In this release:
-             * added getWFRef
+             * added getWFRef bug fixed
 
 category: Control, Workflow
 
