diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java index a076101072fa..0ff165617df8 100644 --- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java +++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java @@ -332,8 +332,9 @@ public class SdkConfigurationUtil { @Nullable private static Sdk findByPath(SdkType sdkType, Sdk[] sdks, String sdkHome) { for (Sdk sdk : sdks) { - if (sdk.getSdkType() == sdkType && - FileUtil.pathsEqual(FileUtil.toSystemIndependentName(sdk.getHomePath()), FileUtil.toSystemIndependentName(sdkHome))) { + final String path = sdk.getHomePath(); + if (sdk.getSdkType() == sdkType && path != null && + FileUtil.pathsEqual(FileUtil.toSystemIndependentName(path), FileUtil.toSystemIndependentName(sdkHome))) { return sdk; } } diff --git a/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java b/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java index f1c195b10235..ca3855e6ff3c 100644 --- a/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java +++ b/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkConfigurable.java @@ -115,7 +115,10 @@ public class PyActiveSdkConfigurable implements UnnamedConfigurable { @Override public void consume(Sdk sdk) { if (sdk == null) return; - mySdkAdded = true; + mySdkAdded = myProjectSdksModel.findSdk(sdk) == null; + if (mySdkAdded) { + myProjectSdksModel.addSdk(sdk); + } updateSdkList(false); mySdkCombo.getModel().setSelectedItem(sdk); myPackagesPanel.updatePackages(new PyPackageManagementService(myProject, sdk));