--- /usr/lib/gimp/2.0/python/gimpfu.py	2006-07-18 18:16:18.000000000 +0530
+++ gimpfu.py	2006-11-08 18:59:56.000000000 +0530
@@ -203,6 +203,12 @@
 	if on_query:
 	    on_query()
 
+def _get_mangled_name(func_name, params):
+    param_key =  reduce(lambda x, y: "%s-%s" % (x,y), 
+                           [str(v[0]) for v in params],
+                           func_name)
+    return "python-fu-save--" + param_key
+
 def _get_defaults(func_name):
     import gimpshelf
     (blurb, help, author, copyright, date,
@@ -210,7 +216,7 @@
      params, results, function,
      on_query, on_run) = _registered_plugins_[func_name]
 	
-    key = "python-fu-save--" + func_name
+    key = _get_mangled_name(func_name, params)
     if gimpshelf.shelf.has_key(key):
 	return gimpshelf.shelf[key]
     else:
@@ -220,7 +226,12 @@
 def _set_defaults(func_name, defaults):
     import gimpshelf
 
-    key = "python-fu-save--" + func_name
+    (blurb, help, author, copyright, date,
+     menupath, imagetypes, plugin_type,
+     params, results, function,
+     on_query, on_run) = _registered_plugins_[func_name]
+
+    key = _get_mangled_name(func_name, params)
     gimpshelf.shelf[key] = defaults
 
 def _interact(func_name):
