diff --git a/libs/main/introspection/piintrospection_base.h b/libs/main/introspection/piintrospection_base.h
index e21f9830..0b1063f0 100644
--- a/libs/main/introspection/piintrospection_base.h
+++ b/libs/main/introspection/piintrospection_base.h
@@ -29,7 +29,7 @@ class PIPeer;
class PIIntrospection;
class PIIntrospectionServer;
-#ifdef PIP_INTROSPECTION
+#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
#define __PIINTROSPECTION_SINGLETON_H__(T) \
static PIIntrospection##T##Interface * instance();
diff --git a/libs/main/introspection/piintrospection_containers.cpp b/libs/main/introspection/piintrospection_containers.cpp
index 2142a578..3d3f9aa3 100644
--- a/libs/main/introspection/piintrospection_containers.cpp
+++ b/libs/main/introspection/piintrospection_containers.cpp
@@ -17,11 +17,11 @@
along with this program. If not, see .
*/
+#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
+
#include "piintrospection_containers.h"
#include "piintrospection_containers_p.h"
-#ifdef PIP_INTROSPECTION
-
__PIINTROSPECTION_SINGLETON_CPP__(Containers)
diff --git a/libs/main/introspection/piintrospection_containers.h b/libs/main/introspection/piintrospection_containers.h
index 23de690f..7af41f50 100644
--- a/libs/main/introspection/piintrospection_containers.h
+++ b/libs/main/introspection/piintrospection_containers.h
@@ -20,10 +20,10 @@
#ifndef PIINTROSPECTION_CONTAINERS_H
#define PIINTROSPECTION_CONTAINERS_H
+#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
+
#include "piintrospection_base.h"
-
-#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
class PIIntrospectionContainers;
#define PIINTROSPECTION_CONTAINERS (PIIntrospectionContainersInterface::instance())//(PIIntrospectionContainersInterface::instance())
diff --git a/libs/main/introspection/piintrospection_server.cpp b/libs/main/introspection/piintrospection_server.cpp
index 6275d91d..a8f7042e 100644
--- a/libs/main/introspection/piintrospection_server.cpp
+++ b/libs/main/introspection/piintrospection_server.cpp
@@ -17,7 +17,7 @@
along with this program. If not, see .
*/
-#ifdef PIP_INTROSPECTION
+#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
#include "piintrospection_server.h"
#include "piintrospection_server_p.h"
diff --git a/libs/main/introspection/piintrospection_server.h b/libs/main/introspection/piintrospection_server.h
index 31b2620a..2fc1f31b 100644
--- a/libs/main/introspection/piintrospection_server.h
+++ b/libs/main/introspection/piintrospection_server.h
@@ -20,11 +20,10 @@
#ifndef PIINTROSPECTION_SERVER_H
#define PIINTROSPECTION_SERVER_H
+#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
#include "pipeer.h"
-#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
-
class PIIntrospectionServer;
class PISystemMonitor;
diff --git a/libs/main/introspection/piintrospection_threads.cpp b/libs/main/introspection/piintrospection_threads.cpp
index 98d829d0..4ecc9ffd 100644
--- a/libs/main/introspection/piintrospection_threads.cpp
+++ b/libs/main/introspection/piintrospection_threads.cpp
@@ -17,7 +17,7 @@
along with this program. If not, see .
*/
-#ifdef PIP_INTROSPECTION
+#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
#include "piintrospection_threads.h"
#include "piintrospection_threads_p.h"
diff --git a/libs/main/introspection/piintrospection_threads.h b/libs/main/introspection/piintrospection_threads.h
index e582ae07..3d024f6b 100644
--- a/libs/main/introspection/piintrospection_threads.h
+++ b/libs/main/introspection/piintrospection_threads.h
@@ -20,11 +20,10 @@
#ifndef PIINTROSPECTION_THREADS_H
#define PIINTROSPECTION_THREADS_H
-#include "piintrospection_base.h"
-
-
#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)
+#include "piintrospection_base.h"
+
class PIIntrospectionThreads;
#define PIINTROSPECTION_THREADS (PIIntrospectionThreadsInterface::instance())