diff --git a/configs/Palmetto.py b/configs/Palmetto.py
index 76b8b31..d069de9 100644
--- a/configs/Palmetto.py
+++ b/configs/Palmetto.py
@@ -37,51 +37,6 @@
 	}
 INVENTORY_ROOT = '/org/openbmc/inventory'
 
-FRU_INSTANCES = {
-	'<inventory_root>/system' : { 'fru_type' : 'SYSTEM','is_fru' : True, },
-	'<inventory_root>/system/chassis' : { 'fru_type' : 'SYSTEM','is_fru' : True, },
-	'<inventory_root>/system/chassis/motherboard' : { 'fru_type' : 'MAIN_PLANAR','is_fru' : True, },
-
-	'<inventory_root>/system/chassis/fan0' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan1' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan2' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan3' : { 'fru_type' : 'FAN','is_fru' : True, },
-	'<inventory_root>/system/chassis/fan4' : { 'fru_type' : 'FAN','is_fru' : True, },
-
-	'<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 
-			'manufacturer' : 'ASPEED' },
-	'<inventory_root>/system/chassis/motherboard/cpu0' : { 'fru_type' : 'CPU', 'is_fru' : True, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core0' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core1' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core2' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core3' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core4' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core5' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core6' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core7' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core8' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core9' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core10' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/cpu0/core11' : { 'fru_type' : 'CORE', 'is_fru' : False, },
-
-	
-	'<inventory_root>/system/chassis/motherboard/membuf0' : { 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
-
-	'<inventory_root>/system/chassis/motherboard/dimm0' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/motherboard/dimm1' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/motherboard/dimm2' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/motherboard/dimm3' : { 'fru_type' : 'DIMM', 'is_fru' : True,},
-
-	'<inventory_root>/system/chassis/io_board/pcie_slot0' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
-	'<inventory_root>/system/chassis/io_board/pcie_slot1' : { 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
-
-	'<inventory_root>/system/systemevent'                  : { 'fru_type' : 'SYSTEM_EVENT', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/refclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/pcieclock': { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/todclock' : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-	'<inventory_root>/system/chassis/motherboard/apss'     : { 'fru_type' : 'MAIN_PLANAR', 'is_fru' : False, },
-}
-
 ID_LOOKUP = {
 	'FRU' : {
 		0x0d : '<inventory_root>/system/chassis',
diff --git a/pyinventorymgr/inventory_items.py b/pyinventorymgr/inventory_items.py
index c815b37..82a1305 100644
--- a/pyinventorymgr/inventory_items.py
+++ b/pyinventorymgr/inventory_items.py
@@ -3,26 +3,17 @@
 import os
 import sys
 import gobject
-import json
 import dbus
 import dbus.service
 import dbus.mainloop.glib
 import obmc.dbuslib.propertycacher as PropertyCacher
 from obmc.dbuslib.bindings import get_dbus, DbusProperties, DbusObjectManager
 
-try:
-    import obmc_system_config as System
-    have_system = True
-except ImportError:
-    have_system = False
 
 INTF_NAME = 'org.openbmc.InventoryItem'
 DBUS_NAME = 'org.openbmc.Inventory'
 
-if have_system:
-    FRUS = System.FRU_INSTANCES
-else:
-    FRUS = {}
+FRUS = {}
 
 
 class Inventory(DbusProperties, DbusObjectManager):
@@ -92,6 +83,7 @@
                                   'inventory', 'inventory.json')
 
     if os.path.exists(INVENTORY_FILE):
+        import json
         with open(INVENTORY_FILE, 'r') as f:
             try:
                 inv = json.load(f)
@@ -99,6 +91,12 @@
                 print "Invalid JSON detected in " + INVENTORY_FILE
             else:
                 FRUS = inv
+    else:
+        try:
+            import obmc_system_config as System
+            FRUS = System.FRU_INSTANCES
+        except ImportError:
+            pass
 
     for f in FRUS.keys():
         obj_path = f.replace("<inventory_root>", System.INVENTORY_ROOT)
diff --git a/pyinventorymgr/sync_inventory_items.py b/pyinventorymgr/sync_inventory_items.py
index e11c2e6..6db69cc 100644
--- a/pyinventorymgr/sync_inventory_items.py
+++ b/pyinventorymgr/sync_inventory_items.py
@@ -20,7 +20,7 @@
 import dbus
 import argparse
 import subprocess
-import obmc_system_config as System
+
 
 INV_DBUS_NAME = 'org.openbmc.Inventory'
 INV_INTF_NAME = 'org.openbmc.InventoryItem'
@@ -30,7 +30,7 @@
 CHS_OBJ_NAME = '/org/openbmc/control/chassis0'
 PROP_INTF_NAME = 'org.freedesktop.DBus.Properties'
 
-FRUS = System.FRU_INSTANCES
+FRUS = {}
 
 # IEEE 802 MAC address mask for locally administered.
 # This means the admin has set the MAC and is no longer
@@ -111,6 +111,21 @@
     prop_name = opt.p
     sync_type = opt.s
 
+    inventory = os.path.join(
+        sys.prefix, 'share', 'inventory', 'inventory.json')
+    if os.path.exists(inventory):
+        import json
+        with open(inventory, 'r') as f:
+            try:
+                inv = json.load(f)
+            except ValueError:
+                print "Invalid JSON detected in " + inventory
+            else:
+                FRUS = inv
+    else:
+        import obmc_system_config as System
+        FRUS = System.FRU_INSTANCES
+
     bus = dbus.SystemBus()
     inv_obj_path = get_inv_obj_path(fru_type, fru_name)
     inv_obj = bus.get_object(INV_DBUS_NAME, inv_obj_path)
