diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx
index 1b0e5e1330..c04e2e0816 100644
--- a/data/resources/StringResources.resx
+++ b/data/resources/StringResources.resx
@@ -8003,6 +8003,9 @@ The resources files have been renamed/moved accordingly.
Open new buffer
+ &Project...
+
+
&Solution...
diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
index 6ee58b73be..6613b5a6ba 100755
--- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
+++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
@@ -1145,9 +1145,16 @@
shortcut = "Control|N"
class = "ICSharpCode.SharpDevelop.Commands.CreateNewFile"/>
-
diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs
index 6dd5c49132..15ed121078 100644
--- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs
+++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs
@@ -14,7 +14,9 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
public override void Run()
{
- AbstractProjectBrowserTreeNode node = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
+ TreeNode node = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
+ while (node != null && !(node is ISolutionFolderNode))
+ node = node.Parent;
ISolutionFolderNode solutionFolderNode = node as ISolutionFolderNode;
if (node != null) {
using (NewProjectDialog npdlg = new NewProjectDialog(false)) {