diff --git a/ChangeLog.n b/ChangeLog.n
index e38a3c59148101981b441454eb880a2550e0ca94..197a2f1c1d3334e8ceb818e6b2bab1c957f6e63c 100644
--- a/ChangeLog.n
+++ b/ChangeLog.n
@@ -3,7 +3,14 @@
 don't forget to change the version in utils/packages.lisp if you do anything
 user visible.
 *******************************************************************************
+2009-05-06  Andreas Fuchs  <afuchs@franz.com>
 
+	* clim/ptypes.lisp: Add keyword arg 'omit-map-over-ptype-supertypes-p
+	  (interned in clim-internals).
+	* clim/standard-types.lisp: Use that keyword to suppress generation of
+	  conflicting presentation method: Removes a warning from the build
+	  (bug18430).
+	
 2009-05-01  Kevin Layer  <layer@gemini.franz.com>
 
 	* utils/packages.lisp: don't use version-from-file
diff --git a/clim/ptypes1.lisp b/clim/ptypes1.lisp
index 3c2e22e812d4252ab96cd3415f9ff2ec5b6a5065..e0b725b49b4f6b2cf0241ef9b628de940fd2a815 100644
--- a/clim/ptypes1.lisp
+++ b/clim/ptypes1.lisp
@@ -694,6 +694,8 @@
 (defmacro define-presentation-type (name parameters
                                     &key options inherit-from description history
                                          parameters-are-types
+                                         ((omit-map-over-ptype-supertypes-p omit-map-over-ptype-supertypes-p)
+                                          nil)
                                     &environment environment)
   (check-type name (or symbol (satisfies acceptable-presentation-type-class))
               "a symbol or a non-built-in class")
@@ -776,8 +778,9 @@
                                          ',description ',history
                                          ',parameters-are-types
                                          ',parameter-massagers ',options-massagers)
-               ,@(generate-map-over-presentation-type-supertypes-method-if-needed
-                    name class function-var parameters-var options-var type-var environment)
+               ,@(unless omit-map-over-ptype-supertypes-p
+                   (generate-map-over-presentation-type-supertypes-method-if-needed
+                    name class function-var parameters-var options-var type-var environment))
                #-CLIM-extends-CLOS
                ,@(generate-presentation-type-inheritance-methods
                    name class parameters-var options-var environment)
diff --git a/clim/standard-types.lisp b/clim/standard-types.lisp
index 630748fbf52d7c90efb3c659ca254b6a1cf42ae5..80fc437338b9a608eef67b7df49aa70cefb63990 100644
--- a/clim/standard-types.lisp
+++ b/clim/standard-types.lisp
@@ -1541,6 +1541,8 @@
 ;;--- Maybe this should have WRITE options
 (define-presentation-type form ()
   :options ((auto-activate nil boolean))
+  ;; Don't define a map-over-ptype-supertypes method; we have our own, below.
+  omit-map-over-ptype-supertypes-p t
   ;; Handling of AUTO-ACTIVATE is done below...
   :inherit-from `((expression) :auto-activate ,auto-activate))