diff --git a/EthernetInterface.cpp b/EthernetInterface.cpp
index 22b61f3..c6f80b3 100644
--- a/EthernetInterface.cpp
+++ b/EthernetInterface.cpp
@@ -17,12 +17,6 @@
* along with CommandStation. If not, see .
*
*/
-#if __has_include ( "config.h")
- #include "config.h"
-#else
- #warning config.h not found. Using defaults from config.example.h
- #include "config.example.h"
-#endif
#include "defines.h"
#if ETHERNET_ON == true
#include "EthernetInterface.h"
diff --git a/EthernetInterface.h b/EthernetInterface.h
index e97ebfc..ab21f6a 100644
--- a/EthernetInterface.h
+++ b/EthernetInterface.h
@@ -22,12 +22,8 @@
#ifndef EthernetInterface_h
#define EthernetInterface_h
-#if __has_include ( "config.h")
- #include "config.h"
-#else
- #warning config.h not found. Using defaults from config.example.h
- #include "config.example.h"
-#endif
+
+#include "defines.h")
#include "DCCEXParser.h"
#include
#include
diff --git a/LCDDisplay.h b/LCDDisplay.h
index 15ba524..6e2c69d 100644
--- a/LCDDisplay.h
+++ b/LCDDisplay.h
@@ -19,12 +19,9 @@
#ifndef LCDDisplay_h
#define LCDDisplay_h
#include
+#include "defines.h"
#include "DisplayInterface.h"
-#if __has_include ( "config.h")
- #include "config.h"
-#endif
-
// Allow maximum message length to be overridden from config.h
#if !defined(MAX_MSG_SIZE)
#define MAX_MSG_SIZE 20
diff --git a/defines.h b/defines.h
index 95102f9..1d76f95 100644
--- a/defines.h
+++ b/defines.h
@@ -22,10 +22,13 @@
#define DEFINES_H
// defines.h relies on macros defined in config.h
-#if __has_include ( "config.h")
- #include "config.h"
-#else
- #include "config.example.h"
+// but it may have already been included (for cosmetic convenence) by the .ino
+#ifndef MOTOR_SHIELD_TYPE
+ #if __has_include ( "config.h")
+ #include "config.h"
+ #else
+ #include "config.example.h"
+ #endif
#endif
////////////////////////////////////////////////////////////////////////////////