Index: branches/1.2/utils.c
===================================================================
--- branches/1.2/utils.c	(revision 394)
+++ branches/1.2/utils.c	(revision 408)
@@ -630,5 +630,5 @@
 }
 /* }}} */
-static void xc_sandbox_install(xc_sandbox_t *sandbox TSRMLS_DC) /* {{{ */
+static void xc_sandbox_install(xc_sandbox_t *sandbox, xc_install_action_t install TSRMLS_DC) /* {{{ */
 {
 	int i;
@@ -674,7 +674,9 @@
 #endif
 
-	xc_undo_pass_two(CG(active_op_array) TSRMLS_CC);
-	xc_foreach_early_binding_class(CG(active_op_array), xc_early_binding_cb, (void *) sandbox TSRMLS_CC);
-	xc_redo_pass_two(CG(active_op_array) TSRMLS_CC);
+	if (install != XC_InstallNoBinding) {
+		xc_undo_pass_two(CG(active_op_array) TSRMLS_CC);
+		xc_foreach_early_binding_class(CG(active_op_array), xc_early_binding_cb, (void *) sandbox TSRMLS_CC);
+		xc_redo_pass_two(CG(active_op_array) TSRMLS_CC);
+	}
 
 	i = 1;
@@ -682,5 +684,5 @@
 }
 /* }}} */
-void xc_sandbox_free(xc_sandbox_t *sandbox, int install TSRMLS_DC) /* {{{ */
+void xc_sandbox_free(xc_sandbox_t *sandbox, xc_install_action_t install TSRMLS_DC) /* {{{ */
 {
 	/* restore first first install function/class */
@@ -695,9 +697,9 @@
 #endif
 
-	if (install) {
+	if (install != XC_NoInstall) {
 		CG(in_compilation)    = 1;
 		CG(compiled_filename) = sandbox->filename;
 		CG(zend_lineno)       = 0;
-		xc_sandbox_install(sandbox TSRMLS_CC);
+		xc_sandbox_install(sandbox, install TSRMLS_CC);
 		CG(in_compilation)    = 0;
 		CG(compiled_filename) = NULL;
