Index: /trunk/xcache.c
===================================================================
--- /trunk/xcache.c	(revision 295)
+++ /trunk/xcache.c	(revision 296)
@@ -2358,5 +2358,5 @@
     zend_extension_dispatch_message(ZEND_EXTMSG_NEW_EXTENSION, &extension);
 
-    zend_llist_add_element(&zend_extensions, &extension);
+    zend_llist_prepend_element(&zend_extensions, &extension);
 #ifdef DEBUG
 	fprintf(stderr, "registered\n");
@@ -2432,9 +2432,7 @@
 	xc_module_gotup = 1;
 	if (!xc_zend_extension_gotup) {
-		if (zend_get_extension(XCACHE_NAME) == NULL) {
-			xc_zend_extension_register(&zend_extension_entry, 0);
-			xc_zend_extension_startup(&zend_extension_entry);
-			xc_zend_extension_faked = 1;
-		}
+		xc_zend_extension_register(&zend_extension_entry, 0);
+		xc_zend_extension_startup(&zend_extension_entry);
+		xc_zend_extension_faked = 1;
 	}
 
@@ -2632,7 +2630,4 @@
 ZEND_DLEXPORT int xcache_zend_startup(zend_extension *extension) /* {{{ */
 {
-	if (xc_zend_extension_gotup) {
-		return SUCCESS;
-	}
 	xc_zend_extension_gotup = 1;
 	xc_llist_element = NULL;
