diff --git a/bedpostx b/bedpostx
index 04b7498a77086fda578101c2c6fc8e0f3bb755ba..08295a8f897b1296abc41e9b5d85b216f1b1b288 100755
--- a/bedpostx
+++ b/bedpostx
@@ -24,6 +24,7 @@ Usage() {
     echo "-b (burnin period, default 1000)"
     echo "-j (number of jumps, default 1250)"
     echo "-s (sample every, default 25)"
+    echo "-model (1:monoexponential [default] - 2:non-monoexponential [to be used in multi-shell acquisitions])"
     echo ""
     exit 1
 }
@@ -54,6 +55,7 @@ fudge=1
 burnin=1000
 njumps=1250
 sampleevery=25
+model=1
 while [ ! -z "$2" ]
 do
   case "$2" in
@@ -62,6 +64,7 @@ do
       -b) burnin=$3;shift;;
       -j) njumps=$3;shift;;
       -s) sampleevery=$3;shift;;
+      -model) model=$3;shift;;
       *) break;;
   esac
   shift
@@ -173,12 +176,12 @@ do
     if [ `$FSLDIR/bin/imtest ${subjdir}.bedpostX/diff_slices/data_slice_$slicezp/dyads1` -eq 1 ];then
 	echo "slice $slice has already been processed"
     else
-	echo "${FSLDIR}/bin/bedpostx_single_slice.sh $subjdir $nfibres $fudge $burnin $njumps $sampleevery $slice" \
+	echo "${FSLDIR}/bin/bedpostx_single_slice.sh $subjdir $nfibres $fudge $burnin $njumps $sampleevery $model $slice" \
 	    >> ${subjdir}.bedpostX/commands.txt
     fi
     slice=$(($slice + 1))
 done
-bedpostid=`${FSLDIR}/bin/fsl_sub -j $preprocid -l ${subjdir}.bedpostX/logs -M $mailto -N bedpostx -t ${subjdir}.bedpostX/commands.txt`
+bedpostid=`${FSLDIR}/bin/fsl_sub -j $preprocid -a lx24-amd64 -l ${subjdir}.bedpostX/logs -M $mailto -N bedpostx -t ${subjdir}.bedpostX/commands.txt`
 
 echo Queuing post processing stage
 mergeid=`${FSLDIR}/bin/fsl_sub -j $bedpostid -T 60 -m as -N bpx_postproc -l ${subjdir}.bedpostX/logs ${FSLDIR}/bin/bedpostx_postproc.sh $subjdir`
diff --git a/bedpostx_postproc.sh b/bedpostx_postproc.sh
index 6cee95b4c742a99507ff63428ac00377e64c95d2..4115d2c24c9c54dfa46b4b05aab9c2829e1999c5 100755
--- a/bedpostx_postproc.sh
+++ b/bedpostx_postproc.sh
@@ -16,8 +16,17 @@ do
 
     ${FSLDIR}/bin/make_dyadic_vectors ${subjdir}.bedpostX/merged_th${fib}samples ${subjdir}.bedpostX/merged_ph${fib}samples ${subjdir}.bedpostX/nodif_brain_mask ${subjdir}.bedpostX/dyads${fib}
     fib=$(($fib + 1))
+
 done
 
+
+if [ `${FSLDIR}/bin/imtest ${subjdir}.bedpostX/diff_slices/data_slice_0000/mean_dsamples` ];then
+    ${FSLDIR}/bin/fslmerge -z ${subjdir}.bedpostX/mean_dsamples  `${FSLDIR}/bin/imglob ${subjdir}.bedpostX/diff_slices/data_slice_*/mean_dsamples*`
+fi
+if [ `${FSLDIR}/bin/imtest ${subjdir}.bedpostX/diff_slices/data_slice_0000/mean_d_stdsamples` ];then
+    ${FSLDIR}/bin/fslmerge -z ${subjdir}.bedpostX/mean_d_stdsamples  `${FSLDIR}/bin/imglob ${subjdir}.bedpostX/diff_slices/data_slice_*/mean_d_stdsamples*`
+fi
+
 echo Removing intermediate files
 
 if [ `imtest ${subjdir}.bedpostX/merged_th1samples` -eq 1 ];then