     (when (= 1 (count segments))
       (warning :single-segment-namespace env {:name name}))
     (when (some js-reserved segments)
-      (warning :munged-namespace env {:name name})))
+      (warning :munged-namespace env {:name name}))
+    (find-def-clash env name segments))
   (let [docstring (if (string? (first args)) (first args))
         mdocstr   (-> name meta :doc)
         args      (if docstring (next args) args)

                 (munge))]
    (str "Namespace " name " contains a reserved JavaScript keyword,"
         " the corresponding Google Closure namespace will be munged to " munged)))

(defn ^:private default-warning-handler [warning-type env extra]
  (when (warning-type *cljs-warnings*)

   :protocol-duped-method true
   :protocol-multiple-impls true
   :single-segment-namespace true
   :munged-namespace true
   :ns-var-clash true})

(def js-reserved
  #{"abstract" "boolean" "break" "byte" "case"
