       (let ((sym (car pkg)))
         (when (and (or (not (doom-package-prop sym :freeze))
                        include-frozen-p)
-                   (not (doom-package-prop sym :ignore)))
+                   (not (doom-package-prop sym :ignore))
+                   (not (doom-package-different-backend-p sym)))
           (push sym
                 (if (eq (doom-package-backend sym) 'quelpa)
                     quelpa-pkgs

  (plist-get (cdr (assq name doom-packages)) prop))

;;;###autoload
(defun doom-get-packages (&optional installed-only-p)
  "Retrieves a list of explicitly installed packages (i.e. non-dependencies).
Each element is a cons cell, whose car is the package symbol and whose cdr is

i.e. they have an :ignore property.

Used by `doom/packages-install'."
  (cl-loop for desc in (doom-get-packages)
           for (name . plist) = desc
           if (and (or include-ignored-p
                       (not (plist-get plist :ignore)))
                   (or (plist-get plist :pin)
                       (not (assq name package--builtins)))
                   (or (not (assq name package-alist))
                       (doom-package-different-backend-p name)))
           collect desc))

;;;###autoload
(defun doom*package-delete (desc &rest _)
