int cmd__submodule_nested_repo_config(int argc, const char **argv)
 {
-       struct repository submodule;
+       struct repository subrepo;
+       const struct submodule *sub;
 
        if (argc < 3)
                die_usage(argc, argv, "Wrong number of arguments.");
 
        setup_git_directory();
 
-       if (repo_submodule_init(&submodule, the_repository, argv[1])) {
+       sub = submodule_from_path(the_repository, &null_oid, argv[1]);
+       if (repo_submodule_init(&subrepo, the_repository, sub)) {
                die_usage(argc, argv, "Submodule not found.");
        }
 
        /* Read the config of _child_ submodules. */
-       print_config_from_gitmodules(&submodule, argv[2]);
+       print_config_from_gitmodules(&subrepo, argv[2]);
 
        submodule_free(the_repository);