diff --git a/CLPBN/clpbn/dists.yap b/CLPBN/clpbn/dists.yap
index 9e8f8052e..00e9c17e4 100644
--- a/CLPBN/clpbn/dists.yap
+++ b/CLPBN/clpbn/dists.yap
@@ -10,6 +10,7 @@
 	   dist_new_table/2,
 	   get_dist/4,
 	   get_dist_matrix/5,
+	   get_possibly_deterministic_dist_matrix/5,
 	   get_dist_domain/2,
 	   get_dist_params/2,
 	   get_dist_domain_size/2,
@@ -184,6 +185,11 @@ get_dist_matrix(Id, Parents, Type, Domain, Mat) :-
 	matrix_new(floats, [DomainSize|Sizes], Tab, Mat),
 	matrix_to_logs(Mat).
 
+get_possibly_deterministic_dist_matrix(Id, Parents, Type, Domain, Mat) :-
+	recorded(clpbn_dist_db, db(Id, _, Tab, Type, Domain, _, DomainSize), _),
+	get_dsizes(Parents, Sizes, []),
+	matrix_new(floats, [DomainSize|Sizes], Tab, Mat).
+
 get_dsizes([], Sizes, Sizes).
 get_dsizes([P|Parents], [Sz|Sizes], Sizes0) :-
 	clpbn:get_atts(P,dist(Dist,_)),