diff --git a/scripts/generate_visualc_files.pl b/scripts/generate_visualc_files.pl
index adef3bd..5565729 100755
--- a/scripts/generate_visualc_files.pl
+++ b/scripts/generate_visualc_files.pl
@@ -31,9 +31,12 @@
     3rdparty/everest/library/kremlib
     3rdparty/everest/library/legacy
 );
-my @thirdparty_excluded = qw(
+
+my @excluded_files = qw(
     3rdparty/everest/library/Hacl_Curve25519.c
 );
+my %excluded_files = ();
+foreach (@excluded_files) { $excluded_files{$_} = 1 }
 
 # Need windows line endings!
 my $vsx_hdr_tpl = <<EOT;
@@ -103,11 +106,6 @@
     return $guid;
 }
 
-sub is_thirdparty_excluded {
-    my ($path) = @_;
-    return grep { $path eq $_ } @thirdparty_excluded;
-}
-
 sub gen_app {
     my ($path, $template, $dir, $ext) = @_;
 
@@ -159,14 +157,12 @@
 }
 
 sub gen_main_file {
-    my ($mbedtls_headers, $psa_headers, $source_headers, $thirdparty_headers, $sources, $thirdparty_sources, $hdr_tpl, $src_tpl, $main_tpl, $main_out) = @_;
+    my ($headers, $sources,
+        $hdr_tpl, $src_tpl,
+        $main_tpl, $main_out) = @_;
 
-    my $header_entries = gen_entry_list( $hdr_tpl, @$mbedtls_headers );
-    $header_entries .= gen_entry_list( $hdr_tpl, @$psa_headers );
-    $header_entries .= gen_entry_list( $hdr_tpl, @$source_headers );
-    $header_entries .= gen_entry_list( $hdr_tpl, @$thirdparty_headers );
+    my $header_entries = gen_entry_list( $hdr_tpl, @$headers );
     my $source_entries = gen_entry_list( $src_tpl, @$sources );
-    $source_entries .= gen_entry_list( $src_tpl, @$thirdparty_sources );
 
     my $out = slurp_file( $main_tpl );
     $out =~ s/SOURCE_ENTRIES\r\n/$source_entries/m;
@@ -219,25 +215,29 @@
     del_vsx_files();
 
     my @app_list = get_app_list();
-    my @mbedtls_headers = <$mbedtls_header_dir/*.h>;
-    my @psa_headers = <$psa_header_dir/*.h>;
-    my @source_headers = <$source_dir/*.h>;
-    my @sources = <$source_dir/*.c>;
-    map { s!/!\\!g } @mbedtls_headers;
-    map { s!/!\\!g } @psa_headers;
-    map { s!/!\\!g } @sources;
+    my @header_dirs = (
+                       $mbedtls_header_dir,
+                       $psa_header_dir,
+                       $source_dir,
+                       @thirdparty_header_dirs,
+                      );
+    my @headers = (map { <$_/*.h> } @header_dirs);
+    my @source_dirs = (
+                       $source_dir,
+                       @thirdparty_source_dirs,
+                      );
+    my @sources = (map { <$_/*.c> } @source_dirs);
 
-    my @thirdparty_headers = map { <$_/*.h> } @thirdparty_header_dirs;
-    my @thirdparty_sources = map { <$_/*.c> } @thirdparty_source_dirs;
-    @thirdparty_sources = grep { ! is_thirdparty_excluded($_) } @thirdparty_sources;
-    map { s!/!\\!g } @thirdparty_headers;
-    map { s!/!\\!g } @thirdparty_sources;
+    @headers = grep { ! $excluded_files{$_} } @headers;
+    @sources = grep { ! $excluded_files{$_} } @sources;
+    map { s!/!\\!g } @headers;
+    map { s!/!\\!g } @sources;
 
     gen_app_files( @app_list );
 
-    gen_main_file( \@mbedtls_headers, \@psa_headers, \@source_headers,
-                   \@thirdparty_headers, \@sources, \@thirdparty_sources, $vsx_hdr_tpl,
-                   $vsx_src_tpl, $vsx_main_tpl_file, $vsx_main_file );
+    gen_main_file( \@headers, \@sources,
+                   $vsx_hdr_tpl, $vsx_src_tpl,
+                   $vsx_main_tpl_file, $vsx_main_file );
 
     gen_vsx_solution( @app_list );
 
diff --git a/visualc/VS2010/mbedTLS.vcxproj b/visualc/VS2010/mbedTLS.vcxproj
index 0e40e35..eb5f275 100644
--- a/visualc/VS2010/mbedTLS.vcxproj
+++ b/visualc/VS2010/mbedTLS.vcxproj
@@ -222,13 +222,13 @@
     <ClInclude Include="..\..\include\psa\crypto_struct.h" />
     <ClInclude Include="..\..\include\psa\crypto_types.h" />
     <ClInclude Include="..\..\include\psa\crypto_values.h" />
-    <ClInclude Include="..\..\library/psa_crypto_core.h" />
-    <ClInclude Include="..\..\library/psa_crypto_invasive.h" />
-    <ClInclude Include="..\..\library/psa_crypto_its.h" />
-    <ClInclude Include="..\..\library/psa_crypto_se.h" />
-    <ClInclude Include="..\..\library/psa_crypto_service_integration.h" />
-    <ClInclude Include="..\..\library/psa_crypto_slot_management.h" />
-    <ClInclude Include="..\..\library/psa_crypto_storage.h" />
+    <ClInclude Include="..\..\library\psa_crypto_core.h" />
+    <ClInclude Include="..\..\library\psa_crypto_invasive.h" />
+    <ClInclude Include="..\..\library\psa_crypto_its.h" />
+    <ClInclude Include="..\..\library\psa_crypto_se.h" />
+    <ClInclude Include="..\..\library\psa_crypto_service_integration.h" />
+    <ClInclude Include="..\..\library\psa_crypto_slot_management.h" />
+    <ClInclude Include="..\..\library\psa_crypto_storage.h" />
     <ClInclude Include="..\..\3rdparty\everest\include\everest\everest.h" />
     <ClInclude Include="..\..\3rdparty\everest\include\everest\Hacl_Curve25519.h" />
     <ClInclude Include="..\..\3rdparty\everest\include\everest\kremlib.h" />
