diff --git a/bin/filelist_compile.py b/bin/filelist_compile.py
index 6f480385b58f9371aef973ddb33461a4ea4b2c7f..1f0bbe18add235a630e62dbb7fba098a8c179260 100755
--- a/bin/filelist_compile.py
+++ b/bin/filelist_compile.py
@@ -44,7 +44,7 @@ def env_var_substitute(path, tcl=False):
     sub_path = os.path.expandvars(sub_path)
     return sub_path
 
-def read_list(filelist, args):
+def read_list(filelist, first, args):
     # Create Filelist List Structure
     compiled_filelist = []
     # Open Filelist and Read Lines
@@ -67,7 +67,8 @@ def read_list(filelist, args):
                     print(line_list[1]+" is in the exclusions list")
                 else:
                     print(line_list[1])
-                    compiled_filelist += read_list(env_var_substitute(line_list[1]), args)
+                    temp_list, first = read_list(env_var_substitute(line_list[1]), first, args)
+                    compiled_filelist += temp_list
 
             elif line_list[0] == "-y":
                 # Append to filelist
@@ -97,7 +98,11 @@ def read_list(filelist, args):
                                 compiled_filelist.append(line_list[0].lstrip("+incdir+")+"/"+str(file))
                 else:
                     if args.absolute == True:
-                        compiled_filelist.append("set search_path [ concat $search_path " + str(env_var_substitute(line_list[0].lstrip("+incdir+"), tcl=True)).replace("$","$env") + " ]")
+                        if first == True:
+                            compiled_filelist.append("set search_path [ $search_path " + str(env_var_substitute(line_list[0].lstrip("+incdir+"), tcl=True)).replace("$","$env") + " ]")
+                            first = False
+                        else:
+                            compiled_filelist.append("set search_path [ concat $search_path " + str(env_var_substitute(line_list[0].lstrip("+incdir+"), tcl=True)).replace("$","$env") + " ]")
                     else:
                         compiled_filelist.append(str(line_list[0].lstrip("+incdir+")).replace("$","$env")+"/")
                 
@@ -114,7 +119,7 @@ def read_list(filelist, args):
                         compiled_filelist.append("read_verilog " + str(line_list[0]).replace("$","$env"))
                     else:
                         compiled_filelist.append(line_list[0])
-    return compiled_filelist
+    return compiled_filelist, first
             
 
 def filelist_compile(args):
@@ -124,7 +129,7 @@ def filelist_compile(args):
     print("Compiling Filelist")
     print("------------------")
     # Read in filelist and add newlines to paths
-    filelist = read_list(input_filelist, args)
+    filelist, first = read_list(input_filelist, True, args)
     filelist = [x+"\n" for x in filelist]
     # Create string of all paths to write out
     filelist_str = filelist_header if (args.tcl == False) else filelist_header.replace("//","#")