--- a/ocaml/xenguest/OMakefile
+++ b/ocaml/xenguest/OMakefile
@@ -2,7 +2,8 @@
 OCAML_LIBS =
 OCAMLINCLUDES =
 OCAML_CLIBS = xenguest_stubs
-OCAML_LINK_FLAGS += $(XEN_OCAML_LINK_FLAGS) -cclib -L$(XEN_ROOT)/usr/$(LIBDIR) -cclib -lz -cclib -lxenguest -cclib -lxenctrl -cclib -lxenstore
+XEN_LIBS = /usr/lib/xen-4.1/lib
+OCAML_LINK_FLAGS += -linkpkg  -cclib -L$(XEN_LIBS) -cclib "-Wl,-rpath" -cclib "-Wl,$(XEN_LIBS)" -cclib -lz -cclib -lxenguest -cclib -lxenctrl -cclib -lxenstore
 OCAMLPACKS = unix
 
 XENGUEST_SRC_FILES = dumpcore.ml xenguest.ml xenguest_main.ml xenguest_stubs.c
--- a/ocaml/xenguest/xenguest_stubs.c
+++ b/ocaml/xenguest/xenguest_stubs.c
@@ -39,10 +39,6 @@
 
 #define None_val (Val_int(0))
 
-#ifndef HVM_PARAM_NX_ENABLED
-#define XEN_UNSTABLE
-#endif 
-
 #ifndef HVM_PARAM_VIRIDIAN
 #warning missing viridian parameter
 #endif
@@ -320,11 +316,8 @@
 	                       c_console_evtchn, &console_mfn);
 	caml_leave_blocking_section();
 
-#ifndef XEN_UNSTABLE
-	strncpy(c_protocol, xc_dom_get_native_protocol(dom), 64);
-#else
 	memset(c_protocol, '\0', 64);
-#endif
+
 	free(c_image_name);
 	free(c_ramdisk_name);
 	xc_dom_release(dom);
@@ -370,8 +363,8 @@
 	memset(va_hvm->vcpu_online, 0, sizeof(va_hvm->vcpu_online));
 	for (i = 0; i < f.vcpus_current; i++)
 		va_hvm->vcpu_online[i/8] |= 1 << (i % 8);
-	va_hvm->s4_enabled = f.acpi_s4;
-	va_hvm->s3_enabled = f.acpi_s3;
+	/*	va_hvm->s4_enabled = f.acpi_s4;
+		va_hvm->s3_enabled = f.acpi_s3;*/
 	va_hvm->checksum = 0;
 	for (i = 0, sum = 0; i < va_hvm->length; i++)
 		sum += ((uint8_t *) va_hvm)[i];
@@ -380,15 +373,20 @@
 
 	xc_get_hvm_param(xch, domid, HVM_PARAM_STORE_PFN, store_mfn);
 	xc_set_hvm_param(xch, domid, HVM_PARAM_PAE_ENABLED, f.pae);
+
 #ifdef HVM_PARAM_VIRIDIAN
 	xc_set_hvm_param(xch, domid, HVM_PARAM_VIRIDIAN, f.viridian);
 #endif
+
 	xc_set_hvm_param(xch, domid, HVM_PARAM_STORE_EVTCHN, store_evtchn);
-#ifndef XEN_UNSTABLE
+
+#ifdef HVM_PARAM_NX_ENABLED
 	xc_set_hvm_param(xch, domid, HVM_PARAM_NX_ENABLED, f.nx);
-  xc_get_hvm_param(xch, domid, HVM_PARAM_CONSOLE_PFN, console_mfn);
-  xc_set_hvm_param(xch, domid, HVM_PARAM_CONSOLE_EVTCHN, console_evtchn);
 #endif
+
+	xc_get_hvm_param(xch, domid, HVM_PARAM_CONSOLE_PFN, console_mfn);
+	xc_set_hvm_param(xch, domid, HVM_PARAM_CONSOLE_EVTCHN, console_evtchn);
+
 	return 0;
 }
 
