diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp
index 2d7161412ddab970c4c9a3c1da651dea07121e2a..c8251ea9b69d619ac03d6c8024a6a602463c24b5 100644
--- a/src/plugins/debugger/debuggerdialogs.cpp
+++ b/src/plugins/debugger/debuggerdialogs.cpp
@@ -197,7 +197,9 @@ static QList<ProcData> unixProcessList()
         filename += procId;
         filename += QLatin1String("/stat");
         QFile file(filename);
-        file.open(QIODevice::ReadOnly);
+        if (!file.open(QIODevice::ReadOnly))
+            continue;           // process may have exited
+
         const QStringList data = QString::fromLocal8Bit(file.readAll()).split(' ');
         ProcData proc;
         proc.ppid = procId;