diff --git a/ChangeLog b/ChangeLog
index c55ee1d0e3..f826b3960e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-13  Sven Neumann  <sven@gimp.org>
+
+	* app/core/gimpdatafactory.c (gimp_data_factory_data_free): do not
+	return a value from a void function. Fixes bug #321333.
+
 2005-11-11  Sven Neumann  <sven@gimp.org>
 
 	* INSTALL: document --enable-binreloc.
diff --git a/app/core/gimpdatafactory.c b/app/core/gimpdatafactory.c
index 20e894ea09..8bd3fc0206 100644
--- a/app/core/gimpdatafactory.c
+++ b/app/core/gimpdatafactory.c
@@ -455,8 +455,9 @@ gimp_data_factory_remove_cb (GimpDataFactory *factory,
 void
 gimp_data_factory_data_free (GimpDataFactory *factory)
 {
-  return gimp_data_factory_data_foreach (factory,
-                                         gimp_data_factory_remove_cb, NULL);
+  g_return_if_fail (GIMP_IS_DATA_FACTORY (factory));
+
+  gimp_data_factory_data_foreach (factory, gimp_data_factory_remove_cb, NULL);
 }
 
 GimpData *