         ;; NOTE: We try to turn an 8-color term into a 10-color term by not
         ;;       using default background and foreground colors, expecting the
         ;;       user to have the right colors set for them.
-        (let ((bg-back   `(:background ,(when (< (display-color-cells) 16) back nil)))
+        (let ((bg-back   `(:background ,back))
               (bg-base03 `(:background ,base03))
               (bg-base02 `(:background ,base02))
               (bg-base01 `(:background ,base01))

              (fg-base02 `(:foreground ,base02))
              (fg-base01 `(:foreground ,base01))
              (fg-base00 `(:foreground ,base00))
              (fg-base0 `(:foreground ,(when (< (display-color-cells) 16) base0 nil)))
              (fg-base1 `(:foreground ,(when (< (display-color-cells) 16) base1 nil)))
              (fg-base2 `(:foreground ,base2))
              (fg-base3 `(:foreground ,base3))
              (fg-green `(:foreground ,green))

             (rcirc-server ((t (:foreground ,base1))))
             (rcirc-timestamp ((t (:foreground ,base01)))))

            ((foreground-color . ,(when (<= 16 (display-color-cells)) base0))
             (background-color . ,back)
             (background-mode . ,mode)
             (cursor-color . ,(when (<= 16 (display-color-cells))
                                base03)))))))))

(defmacro create-solarized-theme (mode)
  (let* ((theme-name (intern (concat "solarized-" (symbol-name mode))))
