diff --git a/coreblas/compute/core_ztpmqrt.c b/coreblas/compute/core_ztpmqrt.c
index e83dbfc9e70cf3fc4d29e5cfdab56a927530c4ec..b6199e5c6f84854f83585391056c4fc27958a7c4 100644
--- a/coreblas/compute/core_ztpmqrt.c
+++ b/coreblas/compute/core_ztpmqrt.c
@@ -174,7 +174,7 @@ int CORE_ztpmqrt( MORSE_enum side, MORSE_enum trans,
                      WORK, ldwork );
     }
     /* TT case */
-    else  if( L == M ) {
+    else if( L == M ) {
         CORE_zttmqr( side, trans, m1, n1, M, N, K, IB,
                      A, LDA, B, LDB, V, LDV, T, LDT,
                      WORK, ldwork );
diff --git a/coreblas/compute/core_ztpqrt.c b/coreblas/compute/core_ztpqrt.c
index 1b1137b23c74e0b33934f37dc0abf8c5e0b7c8bf..ab95fce0a3815937644965d50e6ff5de57f534c6 100644
--- a/coreblas/compute/core_ztpqrt.c
+++ b/coreblas/compute/core_ztpqrt.c
@@ -132,6 +132,11 @@ int CORE_ztpqrt( int M, int N, int L, int IB,
         coreblas_error(6, "Illegal value of LDT");
         return -10;
     }
+    if ((L != 0) && (L != chameleon_min(M, N))) {
+        //LAPACKE_ztpmqrt_work( LAPACK_COL_MAJOR, M, N, K, L, IB, V, LDV, T, LDT, A, LDA, B, LDB, WORK );
+        coreblas_error( 6, "Illegal value of L (only 0 or min(M,N) handled for now)");
+        return -6;
+    }
 #endif /*!defined(NDEBUG)*/
 
     /* Quick return */
@@ -141,13 +146,13 @@ int CORE_ztpqrt( int M, int N, int L, int IB,
     if ( L == 0 ) {
         CORE_ztsqrt( M, N, IB, A, LDA, B, LDB, T, LDT, WORK, WORK+N );
     }
-    else if (L == M) {
+    else /* if (L == M) */ {
         CORE_zttqrt( M, N, IB, A, LDA, B, LDB, T, LDT, WORK, WORK+N );
     }
-    else {
-        //LAPACKE_ztpqrt_work( LAPACK_COL_MAJOR, M, N, L, IB, A, LDA, B, LDB, T, LDT, WORK );
-        coreblas_error( 3, "Illegal value of L (only 0 or M handled for now)");
-        return -3;
-    }
+    /* else { */
+    /*     //LAPACKE_ztpqrt_work( LAPACK_COL_MAJOR, M, N, L, IB, A, LDA, B, LDB, T, LDT, WORK ); */
+    /*     coreblas_error( 3, "Illegal value of L (only 0 or M handled for now)"); */
+    /*     return -3; */
+    /* } */
     return MORSE_SUCCESS;
 }