diff --git a/src/treewalk.c b/src/treewalk.c
index 52c70c478dda6a271a4b58af54bc1beaa1316f59..0fbd5f26e978ba6af94d5fe513b31829b84c90c7 100644
--- a/src/treewalk.c
+++ b/src/treewalk.c
@@ -33,15 +33,15 @@
  */
 
 void libhqr_treewalk(const libhqr_tree_t *qrtree,int k){
-  int p = qrtree->mt;
-  printf("%d\n" , p);
-  int pivot = 0;
-  printf("%d\n" , qrtree->nextpiv(qrtree, k, pivot, p));
+  int pivot = qrtree->mt;
+  printf("%d\n" , pivot);
+  int p = pivot;
+  printf("%d\n" , qrtree->prevpiv(qrtree, k, pivot, p));
   int a,b;
   libhqr_queue_tile_t *tt = libhqr_queue_tile_new();
   libhqr_queue_tile_t *ts = libhqr_queue_tile_new();
-  while(p = qrtree->nextpiv(qrtree, k, pivot, p)){
-      while(p = qrtree->prevpiv(qrtree, k, pivot, p)){
+  while(p = qrtree->prevpiv(qrtree, k, pivot, p)){
+      while(p = qrtree->nextpiv(qrtree, k, pivot, p)){
           if(qrtree->gettype(qrtree, k, p)){
               libhqr_queue_tile_post(&tt,p);
           }