diff --git a/src/activeqt/control/qaxservermain.cpp b/src/activeqt/control/qaxservermain.cpp
index c79a9e171588107a73734e9d97f57a246e2a5731..f6f750248bee25eb5ab3cf0f3297e455e3210c78 100644
--- a/src/activeqt/control/qaxservermain.cpp
+++ b/src/activeqt/control/qaxservermain.cpp
@@ -252,19 +252,21 @@ EXTERN_C int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR,
     }
     
     if (run) {
-        HRESULT hRes = CoInitialize(0);
-
-        int argc;
-        QVector<char*> argv(8);
-        qWinMain(hInstance, hPrevInstance, unprocessed.data(), nShowCmd, argc, argv);
-        qAxInit();
-        if (runServer)
-            QAxFactory::startServer();
-        nRet = ::main(argc, argv.data());
-        QAxFactory::stopServer();
-        qAxCleanup();
-        CoUninitialize();
-        
+        if (SUCCEEDED(CoInitialize(0))) {
+            int argc;
+            QVector<char*> argv(8);
+            qWinMain(hInstance, hPrevInstance, unprocessed.data(), nShowCmd, argc, argv);
+            qAxInit();
+            if (runServer)
+                QAxFactory::startServer();
+            nRet = ::main(argc, argv.data());
+            QAxFactory::stopServer();
+            qAxCleanup();
+            CoUninitialize();
+        } else {
+            qErrnoWarning("CoInitialize() failed.");
+            nRet = -1;
+        }
     }
     
     return nRet;
diff --git a/tools/dumpcpp/main.cpp b/tools/dumpcpp/main.cpp
index a7a44b16a20537d2cc27831a0f6e23a84cae072c..6d3dd54b9dc0638a5a2d5a9ab7bbf691bc13053d 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -1494,7 +1494,10 @@ int main(int argc, char **argv)
 {
     qax_dispatchEqualsIDispatch = false;
 
-    CoInitialize(0);
+    if (FAILED(CoInitialize(0))) {
+        qErrnoWarning("CoInitialize() failed.");
+        return -1;
+    }
 
     uint category = DefaultObject;
 
diff --git a/tools/dumpdoc/main.cpp b/tools/dumpdoc/main.cpp
index bb3bcf1715acec9516153e0d3071305044ca3bd5..6996e1579493ac59e236bc9edb0f90d1774be446 100644
--- a/tools/dumpdoc/main.cpp
+++ b/tools/dumpdoc/main.cpp
@@ -48,7 +48,10 @@ QT_USE_NAMESPACE
 
 int main(int argc, char **argv)
 {
-    CoInitialize(0);
+    if (FAILED(CoInitialize(0))) {
+        qErrnoWarning("CoInitialize() failed.");
+        return -1;
+    }
 
     enum State {
         Default = 0,