diff --git a/MANIFEST.in b/MANIFEST.in
index 266105ec60b4d60d94ef1c412a6a420a70c7a005..6c5f1f9c8c9ef04ba791c64f2246e14c3cdaa503 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,3 @@
 # http://packages.python.org/distribute/setuptools.html#including-data-files
 include *requirements.txt
-recursive-include *.yml
+recursive-include . *.yml
diff --git a/pi_mqtt_gpio/server.py b/pi_mqtt_gpio/server.py
index 64552bb32b121f6a527837e940f5d043c9b9f26d..6ced67bbf56e3fb90804e02ef501b35ad5854e87 100644
--- a/pi_mqtt_gpio/server.py
+++ b/pi_mqtt_gpio/server.py
@@ -3,6 +3,7 @@ import logging
 import yaml
 import sys
 import socket
+import os
 from time import sleep, time
 from importlib import import_module
 
@@ -28,8 +29,10 @@ SET_ON_MS_TOPIC = "set_on_ms"
 SET_OFF_MS_TOPIC = "set_off_ms"
 OUTPUT_TOPIC = "output"
 INPUT_TOPIC = "input2"
+
 # @TODO: Don't load this at module level
-with open("config.schema.yml") as schema:
+THIS_DIR = os.path.dirname(os.path.realpath(__file__))
+with open(os.path.join(THIS_DIR, "..", "config.schema.yml")) as schema:
     CONFIG_SCHEMA = yaml.load(schema)
 
 _LOG = logging.getLogger(__name__)