--- linux-2.4.21-pre5.acpi/drivers/acpi/osl.c	2003-03-04 10:53:24.000000000 -0500
+++ linux-2.4.21-pre5.acpi-modified/drivers/acpi/osl.c	2003-03-08 01:03:59.000000000 -0500
@@ -37,6 +37,8 @@
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi.h>
 
+#include "dsdt_table.h"
+
 #ifdef CONFIG_ACPI_EFI
 #include <linux/efi.h>
 u64 efi_mem_attributes (u64 phys_addr);
@@ -228,7 +230,7 @@
 	if (!existing_table || !new_table)
 		return AE_BAD_PARAMETER;
 
-	*new_table = NULL;
+	*new_table = (strncmp(existing_table->signature, DSDT_SIG, 4)) ? NULL : (struct acpi_table_header *) AmlCode;
 	return AE_OK;
 }
 
