diff --git a/buildscript.sh b/buildscript.sh
index f54925e2a089c260e802d7e7f23cea0ef2cc342f..ef80ac7f8198f1dfedf8177523041b9a0210f5a4 100755
--- a/buildscript.sh
+++ b/buildscript.sh
@@ -374,13 +374,21 @@ case "$1" in
       echo "please run the prepare mode first"
       exit 1
     fi
+    preflags=(-C "$EXECDIR"/..)
+    midflags=()
+    postflags=( GLUON_IMAGEDIR=output/images/"$(cat "$EXECDIR"/.prepare)"/"$(cat "$EXECDIR"/.GLUON_RELEASE)" GLUON_PACKAGEDIR=output/packages/"$(cat "$EXECDIR"/.prepare)")
     if [ -a "$EXECDIR/.BROKEN" ]; then
-      make -C "$EXECDIR/.." manifest BROKEN=1 GLUON_IMAGEDIR="output/images/$(cat "$EXECDIR/.prepare")/$(cat "$EXECDIR/.GLUON_RELEASE")" GLUON_PACKAGEDIR="output/packages/$(cat "$EXECDIR/.prepare")"
-    else
-      make -C "$EXECDIR/.." manifest GLUON_IMAGEDIR="output/images/$(cat "$EXECDIR/.prepare")/$(cat "$EXECDIR/.GLUON_RELEASE")" GLUON_PACKAGEDIR="output/packages/$(cat "$EXECDIR/.prepare")"
-    fi
+	    midflags=("${midflags[@]}" BROKEN=1)
+    fi;
+    make "${preflags[@]}" manifest "${midflags[@]}" "${postflags[@]}"
+    # create rc branch manifest
+    if [ -f "$EXECDIR/../output/images/$(cat "$EXECDIR"/.prepare)/$(cat "$EXECDIR"/.GLUON_RELEASE)/sysupgrade/$(cat "$EXECDIR"/.GLUON_AUTOUPDATER_BRANCH).manifest" ]; then
+      cp "$EXECDIR/../output/images/$(cat "$EXECDIR"/.prepare)/$(cat "$EXECDIR"/.GLUON_RELEASE)/sysupgrade/$(cat "$EXECDIR"/.GLUON_AUTOUPDATER_BRANCH).manifest" "$EXECDIR/../output/images/$(cat "$EXECDIR"/.prepare)/$(cat "$EXECDIR"/.GLUON_RELEASE)/sysupgrade/rc.manifest"
+      sed -i 's/BRANCH=stable/BRANCH=rc/g' "$EXECDIR/../output/images/$(cat "$EXECDIR"/.prepare)/$(cat "$EXECDIR"/.GLUON_RELEASE)/sysupgrade/rc.manifest"
+    fi;
   ;;
   *)
     help_print
   ;;
 esac
+