git rev-parse --resolve-git-dir nested1/.git &&
                test_must_fail git rev-parse --resolve-git-dir nested1/nested2/.git &&
                git submodule foreach "git submodule update --init" &&
-               git rev-parse --resolve-git-dir nested1/nested1/nested2/.git
+               git rev-parse --resolve-git-dir nested1/nested2/.git &&
                test_must_fail git rev-parse --resolve-git-dir nested1/nested2/nested3/.git
        )
 '
                ) &&
                git submodule status --cached --recursive -- nested1 > ../actual
        ) &&
-       if test_have_prereq MINGW
-       then
-               dos2unix actual
-       fi &&
        test_cmp expect actual
 '
 
        test_cmp expected actual
 '
 
+test_expect_success 'multi-argument command passed to foreach is not shell-evaluated twice' '
+       (
+               cd super &&
+               git submodule foreach "echo \\\"quoted\\\"" > ../expected &&
+               git submodule foreach echo \"quoted\" > ../actual
+       ) &&
+       test_cmp expected actual
+'
+
 test_done