diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
index 570d6fb4e4f60e3685d7d6574686ba41605964d0..1d7dfbee5f7593e04cd9a6dec2c8da8fcf3fca68 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
@@ -329,7 +329,7 @@ QString CustomExecutableRunConfiguration::executable() const
 {
     QString exec;
     if (!m_executable.isEmpty() && QDir::isRelativePath(m_executable)) {
-        Environment env = activeBuildConfiguration()->environment();
+        Environment env = environment();
         exec = env.searchInPath(m_executable);
         if (exec.isEmpty())
             exec = QDir::cleanPath(workingDirectory() + QLatin1Char('/') + m_executable);
@@ -380,8 +380,11 @@ QString CustomExecutableRunConfiguration::baseWorkingDirectory() const
 QString CustomExecutableRunConfiguration::workingDirectory() const
 {
     QString wd = m_workingDirectory;
-    QString bd = activeBuildConfiguration()->buildDirectory();
-    return wd.replace("$BUILDDIR", QDir::cleanPath(bd));
+    if (activeBuildConfiguration()) {
+        QString bd = activeBuildConfiguration()->buildDirectory();
+        wd.replace("$BUILDDIR", QDir::cleanPath(bd));
+    }
+    return wd;
 }
 
 QStringList CustomExecutableRunConfiguration::commandLineArguments() const
@@ -409,7 +412,8 @@ ProjectExplorer::Environment CustomExecutableRunConfiguration::baseEnvironment()
     } else  if (m_baseEnvironmentBase == CustomExecutableRunConfiguration::SystemEnvironmentBase) {
         env = ProjectExplorer::Environment::systemEnvironment();
     } else  if (m_baseEnvironmentBase == CustomExecutableRunConfiguration::BuildEnvironmentBase) {
-        env = activeBuildConfiguration()->environment();
+        if (activeBuildConfiguration())
+            env = activeBuildConfiguration()->environment();
     }
     return env;
 }