diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c
index 63a22c630e521969b08c8ecb1ce9fa3e0f3ff513..5ffcf996f046136eaaf3fc9657810dfae0bed4ab 100644
--- a/xdiff/xprepare.c
+++ b/xdiff/xprepare.c
@@ -304,7 +304,7 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
 		return -1;
 	}
 
-	if (!(xpp->flags & XDF_HISTOGRAM_DIFF))
+	if (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF)
 		xdl_free_classifier(&cf);
 
 	return 0;