     :ensure t
     :custom
     (magit-clone-default-directory (expand-file-name "~/git"))
-    (magit-completing-read-function 'ivy-completing-read "Force Ivy usage."))
+    (magit-completing-read-function 'ivy-completing-read "Force Ivy usage.")
+    ;; If I type a new branch name instead of the base branch - accept the new branch
+    ;; and ask for a base branch once again.
+    ;; See discussion at https://github.com/magit/magit/issues/3647
+    (magit-branch-read-upstream-first 'fallback))
 
   (use-package git-modes
     :ensure t

    :ensure t
    :bind
    (("C-<return>" . company-complete)
     (:map company-active-map
           ("C-n" . company-select-next-or-abort)
           ("C-p" . company-select-previous-or-abort)))

;; GLOBALS
(defvar init-dir (file-name-directory load-file-name))
(defvar var-dir (concat init-dir "var/"))



(defun main()
