diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 6f6d6c7bbc36bcaa3b4cc9d5960e21ef8662409c..47c9b93b33612f42e2be3c27c5c101f3eb569cc0 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -248,8 +248,10 @@ public:
     bool m_parsePreAndPostFiles;
 };
 
+#if !defined(__GNUC__) || __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3)
 Q_DECLARE_TYPEINFO(ProFileEvaluator::Private::State, Q_PRIMITIVE_TYPE);
 Q_DECLARE_TYPEINFO(ProFileEvaluator::Private::ProLoop, Q_MOVABLE_TYPE);
+#endif
 
 ProFileEvaluator::Private::Private(ProFileEvaluator *q_)
   : q(q_)
diff --git a/src/shared/proparser/profileevaluator.h b/src/shared/proparser/profileevaluator.h
index de4b07f41d0fac509b9d2f4244e1db5e357c97b1..cb3a488033149615a1b9f9193e4b371a5cd738c7 100644
--- a/src/shared/proparser/profileevaluator.h
+++ b/src/shared/proparser/profileevaluator.h
@@ -88,6 +88,7 @@ private:
     class Private;
     Private *d;
 
+    // This doesn't help gcc 3.3 ...
     template<typename T> friend class QTypeInfo;
 };