diff --git a/objects/control_host_obj.c b/objects/control_host_obj.c
index d051f88..63a8d64 100644
--- a/objects/control_host_obj.c
+++ b/objects/control_host_obj.c
@@ -12,6 +12,7 @@
 
 /* ---------------------------------------------------------------------------------------------------- */
 static const gchar* dbus_object_path = "/org/openbmc/control";
+static const gchar* instance_name = "host0";
 static const gchar* dbus_name        = "org.openbmc.control.Host";
 
 static GDBusObjectManagerServer *manager = NULL;
@@ -105,17 +106,10 @@
 	ObjectSkeleton *object;
 	//g_print ("Acquired a message bus connection: %s\n",name);
  	cmdline *cmd = user_data;
-	if (cmd->argc < 2)
-	{
-		g_print("No objects created.  Put object name(s) on command line\n");
-		return;
-	}	
   	manager = g_dbus_object_manager_server_new (dbus_object_path);
-  	int i=0;
-  	for (i=1;i<cmd->argc;i++)
-  	{
+
 		gchar *s;
-		s = g_strdup_printf ("%s/%s",dbus_object_path,cmd->argv[i]);
+		s = g_strdup_printf ("%s/%s",dbus_object_path,instance_name);
 		object = object_skeleton_new (s);
 		g_free (s);
 		ControlHost* control_host = control_host_skeleton_new ();
@@ -140,7 +134,7 @@
 		/* Export the object (@manager takes its own reference to @object) */
 		g_dbus_object_manager_server_export (manager, G_DBUS_OBJECT_SKELETON (object));
 		g_object_unref (object);
-	}
+
 	/* Export all objects */
 	g_dbus_object_manager_server_set_connection (manager, connection);
 	
