diff --git a/extra/builder/builder.factor b/extra/builder/builder.factor
index d9961f9452..b123b9c428 100644
--- a/extra/builder/builder.factor
+++ b/extra/builder/builder.factor
@@ -178,6 +178,7 @@ SYMBOL: builder-recipients
 
 : build ( -- )
   [ (build) ] [ drop ] recover
+  maybe-release
   [ send-builder-email ] [ drop "not sending mail" . ] recover
   ".." cd { "rm" "-rf" "factor" } run-process drop
   [ compress-image ] [ drop ] recover ;
diff --git a/extra/builder/release/release.factor b/extra/builder/release/release.factor
index db903c9501..eb947ff14f 100644
--- a/extra/builder/release/release.factor
+++ b/extra/builder/release/release.factor
@@ -1,12 +1,12 @@
 
 USING: kernel namespaces sequences combinators io.files io.launcher
-       combinators.cleave builder.common builder.util ;
+       bake combinators.cleave builder.common builder.util ;
 
 IN: builder.release
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: releases ( -- path ) builds "/releases" append ;
+: releases ( -- path ) builds "/releases" append dup make-directory ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -57,7 +57,8 @@ USING: system sequences splitting ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: move-file ( source destination -- ) swap { "mv" , , } run-process drop ;
+: move-file ( source destination -- )
+  swap { "mv" , , } bake run-process drop ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -114,4 +115,17 @@ USING: system sequences splitting ;
       { "macosx" [ macosx-release  ] }
     }
   case ;
-  
\ No newline at end of file
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: release? ( -- ? )
+  {
+    "../load-everything-vocabs"
+    "../test-all-vocabs"
+  }
+    [ eval-file empty? ]
+  all? ;
+
+! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+: maybe-release ( -- ) release? [ release ] when ;
\ No newline at end of file