Devo creare il duplicato di un albero già esistente, ma quando eseguo il codice e poi visualizzo il duplicato, mi stampa solo il sottoalbero destro della radice e non quello sinistro, come mai ?

codice:
nodo *duplica_albero(nodo *root, nodo *dup){
     if(root!=NULL){
               if(root->sx!=NULL)
                      duplica_albero(root->sx,dup);
               nodo *new_nodo=(nodo *)malloc(sizeof(nodo));
               dup=insert_abr(dup,root->stringa);
               if(root->dx!=NULL)
                      duplica_albero(root->dx,dup);
     }
     return dup;
}