diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index 225c04bf437d0e504fc538d8cfbdee45ed059322..fd4fa2884297ab4d21c404b0aeb8f1c0ea57c53f 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -195,7 +195,7 @@ public:
     void operator=(Runnable other) { d = std::move(other.d); }
 
     template <class T> bool is() const {
-        return d.get()->typeId() == T::staticTypeId;
+        return d.get() && (d.get()->typeId() == T::staticTypeId);
     }
 
     template <class T> const T &as() const {
@@ -219,7 +219,7 @@ public:
     void operator=(Connection other) { d = std::move(other.d); }
 
     template <class T> bool is() const {
-        return d.get()->typeId() == T::staticTypeId;
+        return d.get() && (d.get()->typeId() == T::staticTypeId);
     }
 
     template <class T> const T &as() const {