diff --git a/src/arch/mips/SConscript b/src/arch/mips/SConscript
--- a/src/arch/mips/SConscript
+++ b/src/arch/mips/SConscript
@@ -33,6 +33,9 @@ Import('*')
 Import('*')
 
 if env['TARGET_ISA'] == 'mips':
+# Workaround for bug in SCons version > 0.97d20071212
+# Scons bug id: 2006 M5 Bug id: 308 
+    Dir('isa/formats')
     Source('faults.cc')
     Source('regfile/int_regfile.cc')
     Source('regfile/float_regfile.cc')
diff --git a/src/arch/sparc/SConscript b/src/arch/sparc/SConscript
--- a/src/arch/sparc/SConscript
+++ b/src/arch/sparc/SConscript
@@ -32,6 +32,10 @@ Import('*')
 Import('*')
 
 if env['TARGET_ISA'] == 'sparc':
+# Workaround for bug in SCons version > 0.97d20071212
+# Scons bug id: 2006 M5 Bug id: 308 
+    Dir('isa/formats')
+    Dir('isa/formats/mem')
     Source('asi.cc')
     Source('faults.cc')
     Source('floatregfile.cc')
diff --git a/src/cpu/SConscript b/src/cpu/SConscript
--- a/src/cpu/SConscript
+++ b/src/cpu/SConscript
@@ -148,6 +148,10 @@ if env['USE_CHECKER']:
             print i,
         print ", please set USE_CHECKER=False or use one of those CPU models"
         Exit(1)
+# Workaround for bug in SCons version > 0.97d20071212
+# Scons bug id: 2006 M5 Bug id: 308
+else:
+    Dir('checker')
 
 TraceFlag('Activity')
 TraceFlag('Commit')
diff --git a/src/kern/SConscript b/src/kern/SConscript
--- a/src/kern/SConscript
+++ b/src/kern/SConscript
@@ -48,3 +48,11 @@ if env['FULL_SYSTEM']:
         Source('tru64/tru64_syscalls.cc')
         TraceFlag('BADADDR')
 
+# Workaround for bug in SCons version > 0.97d20071212
+# Scons bug id: 2006 M5 Bug id: 308
+else:
+    Dir('linux')
+    if env['TARGET_ISA'] == 'alpha':
+        Dir('tru64')
+    elif env['TARGET_ISA'] == 'sparc':
+        Dir('solaris')
diff --git a/src/mem/SConscript b/src/mem/SConscript
--- a/src/mem/SConscript
+++ b/src/mem/SConscript
@@ -35,6 +35,10 @@ SimObject('PhysicalMemory.py')
 SimObject('PhysicalMemory.py')
 SimObject('MemObject.py')
 
+# Workaround for bug in SCons version > 0.97d20071212
+# Scons bug id: 2006 M5 Bug id: 308
+Dir('config')
+
 Source('bridge.cc')
 Source('bus.cc')
 Source('dram.cc')
