diff --git a/quadtree_tool b/quadtree_tool
index 1fb8f1d737a3c83b6f5e53cbb274434a3e213127..1a642bd35fa70f41bb1ac7f2ce6332eebd0833d9 100755
Binary files a/quadtree_tool and b/quadtree_tool differ
diff --git a/src/quadtree.c b/src/quadtree.c
index 721a2147bdd1720be90a0f20f492234aeb2b9217..5543676abc773a3f3ba9e5ed4ffbfa923d7e435e 100644
--- a/src/quadtree.c
+++ b/src/quadtree.c
@@ -119,7 +119,7 @@ void swap(quadtree *ptr1, quadtree *ptr2){
 
 error_code quadtree_horizontal_symmmetry(quadtree p_quadtree){
 	error_code err = 0;
-	if(p_quadtree != NULL){
+	if(p_quadtree->child[0] != NULL){
 		for(int i = 0; i < 4; i++){
 			run_func(quadtree_horizontal_symmmetry(p_quadtree->child[i]));
 		}
@@ -131,7 +131,7 @@ error_code quadtree_horizontal_symmmetry(quadtree p_quadtree){
 
 error_code quadtree_vertical_symmmetry(quadtree p_quadtree){
 	error_code err = 0;
-	if(p_quadtree != NULL){
+	if(p_quadtree->child[0] != NULL){
 		for(int i = 0; i < 4; i++){
 			run_func(quadtree_vertical_symmmetry(p_quadtree->child[i]));
 		}
diff --git a/src/quadtree_tool.c b/src/quadtree_tool.c
index fdb8c4683d28b25bcf78a6cd313db4aa7e8c4661..2e7f8d476771ddedf4fd0f4ed39a2dc21d81be4b 100644
--- a/src/quadtree_tool.c
+++ b/src/quadtree_tool.c
@@ -71,7 +71,7 @@ int main(int argc, char *argv[]) {
 		run_func(matrix_to_quadtree(p_qtree1, &p_pgm1->mat, 0, n_max, p_pgm1->mat.m/2, p_pgm1->mat.m/2, p_pgm1->mat.n/2));
 
 		print_applying("horizontal symmetry qtree1");
-		//run_func(quadtree_horizontal_symmmetry(p_qtree1));					            	// symmetry
+		run_func(quadtree_horizontal_symmmetry(p_qtree1));					            	// symmetry
 
 		//print_applying("vertical symmetry qtree1");
 		//run_func(quadtree_vertical_symmmetry(p_qtree1));					              // symmetry