diff --git a/src/preferences/keymap/KeymapWindow.cpp b/src/preferences/keymap/KeymapWindow.cpp index 0b17345b94..3d6bd9ddb7 100644 --- a/src/preferences/keymap/KeymapWindow.cpp +++ b/src/preferences/keymap/KeymapWindow.cpp @@ -136,8 +136,11 @@ KeymapWindow::KeymapWindow() get_ref_for_path(path.Path(), &ref); BDirectory userKeymapsDir(&ref); - if (userKeymapsDir.InitCheck() != B_OK) - create_directory(path.Path(), S_IRWXU | S_IRWXG | S_IRWXO); + if (userKeymapsDir.InitCheck() != B_OK + && create_directory(path.Path(), S_IRWXU | S_IRWXG | S_IRWXO) + == B_OK) { + get_ref_for_path(path.Path(), &ref); + } BMessenger messenger(this); fOpenPanel = new BFilePanel(B_OPEN_PANEL, &messenger, &ref,