diff --git a/src/plugins/cppeditor/cppquickfix.cpp b/src/plugins/cppeditor/cppquickfix.cpp
index 16b0c13a88e53e3975e062f545578dfb4d3de59b..f3d6bc3dc388ecf050e780084011f3ff2ab7289c 100644
--- a/src/plugins/cppeditor/cppquickfix.cpp
+++ b/src/plugins/cppeditor/cppquickfix.cpp
@@ -922,7 +922,10 @@ int CppQuickFixOperation::endOf(unsigned index) const
 
 int CppQuickFixOperation::endOf(const CPlusPlus::AST *ast) const
 {
-    return endOf(ast->lastToken() - 1);
+    if (unsigned end = ast->lastToken())
+        return endOf(end - 1);
+    else
+        return 0;
 }
 
 void CppQuickFixOperation::startAndEndOf(unsigned index, int *start, int *end) const