diff --git a/libavutil/tree.c b/libavutil/tree.c
index 07814536852e887df85c89fd4aa48f8cdebe3054..85ef629b9877cdce0fb2aef18f94ba42e43bffdd 100644
--- a/libavutil/tree.c
+++ b/libavutil/tree.c
@@ -137,10 +137,12 @@ void av_tree_destroy(AVTreeNode *t){
 
 #if 0
 void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, void *elem), int (*enu)(void *opaque, void *elem)){
+    if(t){
     int v= cmp ? cmp(opaque, t->elem) : 0;
     if(v>=0) av_tree_enumerate(t->child[0], opaque, cmp, enu);
     if(v==0) enu(opaque, t->elem);
     if(v<=0) av_tree_enumerate(t->child[1], opaque, cmp, enu);
+    }
 }
 #endif