Index: tol/bmath/blinalg/tol_blas.cpp
===================================================================
--- tol/bmath/blinalg/tol_blas.cpp	(revision af86d11ed68288d89c398048134b92c766224c78)
+++ tol/bmath/blinalg/tol_blas.cpp	(revision 1f41e15682477e163abb2b2fb0acae53b6fe8fb1)
@@ -346,8 +346,12 @@
   int N   = B.Columns();
   if(N&&M&&(
-    (Side==CblasLeft  && TransA==CblasNoTrans && A.Columns()==M) ||
-    (Side==CblasRight && TransA==CblasNoTrans && A.Rows   ()==N) ||
-    (Side==CblasLeft  && TransA==CblasTrans   && A.Rows   ()==M) ||
-    (Side==CblasRight && TransA==CblasTrans   && A.Columns()==N) ))
+     //(Side==CblasLeft  && TransA==CblasNoTrans && A.Columns()==M) ||
+     (Side==CblasLeft  && TransA==CblasNoTrans && A.Rows()==M) ||
+     //(Side==CblasRight && TransA==CblasNoTrans && A.Rows   ()==N) ||
+     (Side==CblasRight && TransA==CblasNoTrans && A.Columns   ()==N) ||
+     //(Side==CblasLeft  && TransA==CblasTrans   && A.Rows   ()==M) ||
+     (Side==CblasLeft  && TransA==CblasTrans   && A.Columns   ()==M) ||
+     //(Side==CblasRight && TransA==CblasTrans   && A.Columns()==N) ))
+     (Side==CblasRight && TransA==CblasTrans   && A.Rows()==N) ))
   {
     return(dtrsm(Side,Uplo,TransA,Diag,alpha.Value(),
Index: tol/btol/matrix_type/matgra.cpp
===================================================================
--- tol/btol/matrix_type/matgra.cpp	(revision af86d11ed68288d89c398048134b92c766224c78)
+++ tol/btol/matrix_type/matgra.cpp	(revision 1f41e15682477e163abb2b2fb0acae53b6fe8fb1)
@@ -2142,6 +2142,6 @@
   BMatrix<BDat>& B = Mat(Arg(2));
   if(!T.Columns()||!T.Rows()||
-     !B.Columns()||!B.Rows()||
-      T.Columns()!= B.Rows())
+     !B.Columns()||!B.Rows()/*||
+      T.Columns()!= B.Rows()*/)
   { 
     Warning(I2("Cannot apply TrSolve to matrices ",
