diff --git a/src/metabase/lib/filter.cljc b/src/metabase/lib/filter.cljc
index d33824c68ed4ade9f680d2e59702f8a248c1ee3b..289722ab9d0679b85aa9e3d64b65eb4d27a8b05e 100644
--- a/src/metabase/lib/filter.cljc
+++ b/src/metabase/lib/filter.cljc
@@ -27,11 +27,11 @@
 
 (defmethod lib.metadata.calculation/display-name-method :segment
   [query _stage-number [_tag _opts segment-id]]
-  (clojure.core/or
-   (when-let [segment-metadata (lib.metadata/segment query segment-id)]
+  (let [segment-metadata (lib.metadata/segment query segment-id)]
+    (clojure.core/or
      (:display_name segment-metadata)
-     (some->> (:name segment-metadata) (u.humanization/name->human-readable-name :simple)))
-   (i18n/tru "[Unknown Segment]")))
+     (some->> (:name segment-metadata) (u.humanization/name->human-readable-name :simple))
+     (i18n/tru "[Unknown Segment]"))))
 
 (defmethod lib.metadata.calculation/display-name-method :and
   [query stage-number [_tag _opts & subclauses]]
@@ -43,7 +43,7 @@
 (defmethod lib.metadata.calculation/display-name-method :or
   [query stage-number [_tag _opts & subclauses]]
   (lib.util/join-strings-with-conjunction
-   (i18n/tru "and")
+   (i18n/tru "or")
    (for [clause subclauses]
      (lib.metadata.calculation/display-name query stage-number clause))))