Index: tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_basicMaster.tol
===================================================================
--- tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_basicMaster.tol	(revision 8aa216ce53f02f60cf4cd93718ed7fe1e38f9e45)
+++ tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_basicMaster.tol	(revision 21009cb87c6965fa7cdcdcce230ce39b91cf9bd1)
@@ -457,7 +457,12 @@
       Matrix noise = VMat2Mat(SubRow(fullNoise,segment->EquIdx));
     //WriteLn("TRACE"+_MID+" eval 7["<<k+"].2.2 segment->SigmaIndex="<<segment->SigmaIndex);
-      Real sigma  = If(segment->SigmaIndex<=0, 
-        VMatDat(segment->L,(segment->EquIdx)[1],(segment->EquIdx)[1]),
-        Sqrt(VMatDat(_.sig.blk::_.store,segment->SigmaIndex,1)));
+      Real L.det = 
+      {
+        //The determinant of a triangular matrix is the product of its diagonal
+        VMatrix L.diag = SubRow(Tra(SubDiag(segment->L,0)),segment->EquIdx);
+        Exp(VMatSum(Log(L.diag)))^(1/Card(segment->EquIdx))
+      };
+      Real sigma  = L.det*If(segment->SigmaIndex<=0, 1,
+       Sqrt(VMatDat(_.sig.blk::_.store,segment->SigmaIndex,1)));
     //WriteLn("TRACE"+_MID+" eval 7["<<k+"].2.3");
       Set ti = If(useTimeInfo, segment->TimeInfo, Copy(Empty));
