                        evil-state)))
           (spacemacs/state-color-face state)))
 
-      (defun spacemacs/set-state-faces ()
-        "Define or set the state faces."
-        (mapcar (lambda (x) (spacemacs/defface-state-color (car x) (cdr x)))
-                spacemacs-evil-cursor-colors))
-      (spacemacs/set-state-faces)
-
-      (defun set-default-evil-emacs-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'emacs))))
-          (setq evil-emacs-state-cursor `(,c box))))
-      (defun set-default-evil-evilified-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'evilified))))
-          (setq evil-evilified-state-cursor `(,c box))))
-      (defun set-default-evil-normal-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'normal))))
-          (setq evil-normal-state-cursor `(,c box))))
-      (defun set-default-evil-insert-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'insert))))
-          (setq evil-insert-state-cursor `(,c (bar . 2)))))
-      (defun set-default-evil-visual-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'visual))))
-          (setq evil-visual-state-cursor `(,c (hbar . 2)))))
-      (defun set-default-evil-motion-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'motion))))
-          (setq evil-motion-state-cursor `(,c box))))
-      (defun set-default-evil-lisp-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'lisp))))
-          (setq evil-lisp-state-cursor `(,c box))))
-      (defun set-default-evil-iedit-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'iedit))))
-          (setq evil-iedit-state-cursor `(,c box))))
-      (defun set-default-evil-iedit-insert-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'iedit-insert))))
-          (setq evil-iedit-insert-state-cursor `(,c (bar . 2)))))
-      (defun set-default-evil-replace-state-cursor ()
-        (let ((c (when dotspacemacs-colorize-cursor-according-to-state
-                   (spacemacs/state-color 'replace))))
-          (setq evil-replace-state-cursor `(,c (hbar . 2)))))
       (defun evil-insert-state-cursor-hide ()
         (setq evil-insert-state-cursor '((hbar . 0))))
-      (set-default-evil-emacs-state-cursor)
-      (set-default-evil-evilified-state-cursor)
-      (set-default-evil-normal-state-cursor)
-      (set-default-evil-insert-state-cursor)
-      (set-default-evil-visual-state-cursor)
-      (set-default-evil-motion-state-cursor)
-      (set-default-evil-lisp-state-cursor)
-      (set-default-evil-iedit-state-cursor)
-      (set-default-evil-iedit-insert-state-cursor)
-      (set-default-evil-replace-state-cursor)
 
       (evil-mode 1))
     :config

  (use-package evil
    :init
    (progn
      (defvar spacemacs-evil-cursor-colors '((normal . "DarkGoldenrod2")
                                             (insert . "chartreuse3")
                                             (emacs  . "SkyBlue2")
                                             (replace . "chocolate")
                                             (evilified . "LightGoldenrod3")
                                             (visual . "gray")
                                             (motion . "plum3")
                                             (lisp   . "HotPink1")
                                             (iedit  . "firebrick1")
                                             (iedit-insert  . "firebrick1"))
        "Colors assigned to evil states.")

      ;; put back refresh of the cursor on post-command-hook see status of:
      ;; https://bitbucket.org/lyro/evil/issue/502/cursor-is-not-refreshed-in-some-cases

    :commands hybrid-mode
    :init
    (progn
      ;; (add-to-list 'spacemacs-evil-cursors
      ;;              `("hybrid"  ,(spacemacs/state-color 'emacs) (bar . 2)))
      (defface spacemacs-hybrid-face
        `((t (:background ,(spacemacs/state-color 'emacs)
             :foreground ,(face-background 'mode-line)
             :box ,(face-attribute 'mode-line :box)
             :inherit 'mode-line)))
        "Hybrid state face."
        :group 'spacemacs)
      (setq hybrid-mode-insert-state-cursor
            (if (and (display-graphic-p)
                     dotspacemacs-colorize-cursor-according-to-state)
