diff --git a/bin/chassis_control.py b/bin/chassis_control.py
index fa3b9b6..2ed954e 100755
--- a/bin/chassis_control.py
+++ b/bin/chassis_control.py
@@ -46,13 +46,16 @@
 				'object_name' : '/org/openbmc/HostServices',
 				'interface_name' : 'org.openbmc.HostServices'
 			},
+			'settings' : {
+				'bus_name' : 'org.openbmc.settings.Host',
+				'object_name' : '/org/openbmc/settings/host0',
+				'interface_name' : 'org.freedesktop.DBus.Properties'
+			},
 		}
 
 		#uuid
 		self.Set(DBUS_NAME,"uuid",str(uuid.uuid1()))
 		self.Set(DBUS_NAME,"reboot",0)
-		self.Set(DBUS_NAME,"power_policy",0)	
-		self.Set(DBUS_NAME,"last_system_state","")
 
 		bus.add_signal_receiver(self.power_button_signal_handler, 
 					dbus_interface = "org.openbmc.Button", signal_name = "Released", 
@@ -156,25 +159,15 @@
 		intf = self.getInterface('power_control')
 		return intf.getPowerState()
 
-	@dbus.service.method(DBUS_NAME,
-		in_signature='', out_signature='')
-	def setDebugMode(self):
-		return None
-
-	@dbus.service.method(DBUS_NAME,
-		in_signature='i', out_signature='')
-	def setPowerPolicy(self,policy):
-		self.Set(DBUS_NAME,"power_policy",policy)	
-		return None
-
-
 	## Signal handler
 
 	def SystemStateHandler(self,state_name):
-		self.Set(DBUS_NAME,"last_system_state",state_name)	
+		if (state_name == "HOST_POWERED_OFF" or state_name == "HOST_POWERED_ON"):
+			intf = self.getInterface('settings')
+			intf.Set("org.openbmc.settings.Host","system_state",state_name)
+
 		if (state_name == "HOST_POWERED_OFF" and self.Get(DBUS_NAME,"reboot")==1):
 			self.powerOn()
-				
 
 	def power_button_signal_handler(self):
 		# toggle power
diff --git a/bin/discover_system_state.py b/bin/discover_system_state.py
index 2657ca1..5bd8fdc 100755
--- a/bin/discover_system_state.py
+++ b/bin/discover_system_state.py
@@ -33,6 +33,11 @@
 		'object_name' : '/org/openbmc/control/chassis0',
 		'interface_name' : 'org.openbmc.control.Chassis'
 	},
+	'settings' : {
+		'bus_name' : 'org.openbmc.settings.Host',
+		'object_name' : '/org/openbmc/settings/host0',
+		'interface_name' : 'org.freedesktop.DBus.Properties'
+	},
 }
 
 def getInterface(bus,objs,key):
@@ -55,12 +60,17 @@
 	intf.setValue("Enabled")
 	intf = getInterface(bus,dbus_objects,'occstatus1')
 	intf.setValue("Enabled")
-#else:
-#	chassis_intf = getInterface(bus,dbus_objects,'chassis')
-#	if (power_policy == "ALWAYS_POWER_ON" or
-#	  (power_policy == "RESTORE_LAST_STATE" and 
-#	  saved_system_state =="HOST_BOOTED")):
-#		chassis_intf.powerOn()
+else:
+	## Power is off, so check power policy
+	settings_intf = getInterface(bus,dbus_objects,'settings')
+	system_state = settings_intf.Get("org.openbmc.settings.Host","system_state")
+	power_policy = settings_intf.Get("org.openbmc.settings.Host","power_policy")
 
+	print "Last System State: "+system_state+";  Power Policy: "+power_policy
+	chassis_intf = getInterface(bus,dbus_objects,'chassis')
+	if (power_policy == "ALWAYS_POWER_ON" or
+	   (power_policy == "RESTORE_LAST_STATE" and 
+	    system_state =="HOST_POWERED_ON")):
+		chassis_intf.powerOn()
 
 
