diff --git a/compute/pzgetrf_nopiv.c b/compute/pzgetrf_nopiv.c
index ce1d26ecc979da587eade0572c1eaf4efeffd88e..76525b0d88ab0f107c6ddece6efc8909e1a1f6e4 100644
--- a/compute/pzgetrf_nopiv.c
+++ b/compute/pzgetrf_nopiv.c
@@ -57,12 +57,15 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A,
         tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
         tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
         ldak = BLKLDD(A, k);
+
+        options.priority = 2*A->nt - 2*k;
         MORSE_TASK_zgetrf_nopiv(
             &options,
             tempkm, tempkn, ib, A->mb,
             A(k, k), ldak, A->mb*k);
 
         for (m = k+1; m < A->mt; m++) {
+            options.priority = 2*A->nt - 2*k - m;
             tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb;
             ldam = BLKLDD(A, m);
             MORSE_TASK_ztrsm(
@@ -74,6 +77,7 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A,
         }
         for (n = k+1; n < A->nt; n++) {
             tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb;
+            options.priority = 2*A->nt - 2*k - n;
             MORSE_TASK_ztrsm(
                 &options,
                 MorseLeft, MorseLower, MorseNoTrans, MorseUnit,
@@ -83,6 +87,7 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A,
 
             for (m = k+1; m < A->mt; m++) {
                 tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb;
+                options.priority = 2*A->nt - 2*k  - n - m;
                 ldam = BLKLDD(A, m);
                 MORSE_TASK_zgemm(
                     &options,
diff --git a/timing/time_zgetrf_nopiv_tile.c b/timing/time_zgetrf_nopiv_tile.c
index 07d7d9238ef7c08b55f964d7f757d86e13d006b1..b074afc585db29a0ab1875c5ffc4935a22c19e6d 100644
--- a/timing/time_zgetrf_nopiv_tile.c
+++ b/timing/time_zgetrf_nopiv_tile.c
@@ -47,6 +47,8 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_)
         MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC);
     }
 
+    //RUNTIME_zlocality_onerestrict( MORSE_TRSM, STARPU_CPU );
+
     START_TIMING();
     MORSE_zgetrf_nopiv_Tile( descA );
     STOP_TIMING();