mkdir -p 20b/.git/wt/sub &&
        (
                cd 20b/.git &&
-               test_must_fail git symbolic-ref HEAD >/dev/null
+               test_must_fail git status >/dev/null
        ) 2>message &&
        grep "core.bare and core.worktree" message
 '
 
+test_expect_success '#20d: core.worktree and core.bare OK when working tree not needed' '
+       setup_repo 20d non-existent "" true &&
+       mkdir -p 20d/.git/wt/sub &&
+       (
+               cd 20d/.git &&
+               git config foo.bar value
+       )
+'
+
 # Case #21: core.worktree/GIT_WORK_TREE overrides core.bare' '
 test_expect_success '#21: setup, core.worktree warns before overriding core.bare' '
        setup_repo 21 non-existent "" unset &&
                cd 21/.git &&
                GIT_WORK_TREE="$here/21" &&
                export GIT_WORK_TREE &&
-               git symbolic-ref HEAD >/dev/null
+               git status >/dev/null
        ) 2>message &&
        ! test -s message
 
                cd 22/.git &&
                GIT_DIR=. &&
                export GIT_DIR &&
-               test_must_fail git symbolic-ref HEAD 2>result
+               test_must_fail git status 2>result
        ) &&
        (
                cd 22 &&
                GIT_DIR=.git &&
                export GIT_DIR &&
-               test_must_fail git symbolic-ref HEAD 2>result
+               test_must_fail git status 2>result
        ) &&
        grep "core.bare and core.worktree" 22/.git/result &&
        grep "core.bare and core.worktree" 22/result
        setup_repo 28 "$here/28" gitfile true &&
        (
                cd 28 &&
-               test_must_fail git symbolic-ref HEAD
+               test_must_fail git status
        ) 2>message &&
-       ! grep "^warning:" message &&
        grep "core.bare and core.worktree" message
 '
 
                cd 29 &&
                GIT_WORK_TREE="$here/29" &&
                export GIT_WORK_TREE &&
-               git symbolic-ref HEAD >/dev/null
+               git status
        ) 2>message &&
        ! test -s message
 '
        setup_repo 30 "$here/30" gitfile true &&
        (
                cd 30 &&
-               test_must_fail env GIT_DIR=.git git symbolic-ref HEAD 2>result
+               test_must_fail env GIT_DIR=.git git status 2>result
        ) &&
        grep "core.bare and core.worktree" 30/result
 '