diff --git a/objects/pcie_slot_present_obj.c b/objects/pcie_slot_present_obj.c
index cceb637..f1f882b 100644
--- a/objects/pcie_slot_present_obj.c
+++ b/objects/pcie_slot_present_obj.c
@@ -2,6 +2,7 @@
 #include "openbmc.h"
 #include <stdio.h>
 #include <stdbool.h>
+#include <string.h>
 #include "gpio.h"
 
 #define NUM_SLOTS 4
@@ -48,7 +49,7 @@
 
 	g_variant_get(v_result,"(sss)",&obj_info->bus_name,&obj_info->path,&obj_info->intf_name);
 int rc=0;
-	if (strcmp(obj_info->bus_name,"") == 0) {
+	if (strlen(obj_info->bus_name) == 0) {
 		rc = 1;
 	}
 	g_variant_unref(v_result);
@@ -78,7 +79,7 @@
 	return rc; 
 }
 
-void update_fru_obj(GDBusConnection* connection, object_info* obj_info, bool present)
+void update_fru_obj(GDBusConnection* connection, object_info* obj_info, const char* present)
 {
 	GDBusProxy *proxy;
  	GError *error;
@@ -97,7 +98,7 @@
 	g_assert_no_error (error);
 
 	error = NULL;
-	parm = g_variant_new("(b)",present);
+	parm = g_variant_new("(s)",present);
 	
 	result = g_dbus_proxy_call_sync (proxy,
                                    "setPresent",
@@ -142,15 +143,18 @@
 	{
 		object_info obj_info;
 		uint8_t present;
-		bool b_present=false;
+		char* chr_present;
 		do {
 			rc = get_object(sys_proxy,&slots[i],&obj_info);
 			if (rc) { break; }
 			rc = get_presence(c,&slots[i],&present);
-			if (present==1) { b_present=true; }
 			//if (rc) { break; }
 			// TODO: send correct state
-			update_fru_obj(c,&obj_info,b_present);
+			if (present == 1) {
+				update_fru_obj(c,&obj_info,"PRESENT");
+			} else {
+				update_fru_obj(c,&obj_info,"NOT PRESENT");
+			}
 		} while(0);
 	}
 
