diff --git a/indra/lib/python/indra/util/test_win32_manifest.py b/indra/lib/python/indra/util/test_win32_manifest.py
index 460e5fd48757dac568ae5f0785be370599bb1f1f..75473ff55f9c009e80870b7afa4e6164835b437d 100644
--- a/indra/lib/python/indra/util/test_win32_manifest.py
+++ b/indra/lib/python/indra/util/test_win32_manifest.py
@@ -78,7 +78,10 @@ def test_assembly_binding(src_filename, assembly_name, assembly_ver):
        resource_id = ";#2"
     system_call = '%s -nologo -inputresource:%s%s -out:%s' % (mt_path, src_filename, resource_id, tmp_file_name)
     print "Executing: %s" % system_call
-    os.system(system_call)
+    mt_result = os.system(system_call)
+    if mt_result == 31:
+        print "No manifest found in %s" % src_filename
+        raise Exception("No manifest found")
 
     manifest_dom = parse(tmp_file_name)
     nodes = manifest_dom.getElementsByTagName('assemblyIdentity')
@@ -89,7 +92,8 @@ def test_assembly_binding(src_filename, assembly_name, assembly_ver):
             versions.append(node.getAttribute('version'))
 
     if len(versions) == 0:
-        print "No manifest found for %s" % src_filename
+        print "No matching assemblies found in %s" % src_filename
+        raise Exception("No matching assembly")
         
     elif len(versions) > 1:
         print "Multiple bindings to %s found:" % assembly_name
@@ -108,7 +112,6 @@ def test_assembly_binding(src_filename, assembly_name, assembly_ver):
     print "SUCCESS: %s OK!" % src_filename
     print
   
-
 if __name__ == '__main__':
 
     print
diff --git a/indra/media_plugins/quicktime/CMakeLists.txt b/indra/media_plugins/quicktime/CMakeLists.txt
index db11c9ae218b7667bd7e71d72cb3a86315c355d3..f0b8f0d16706f5b491d783b45559b0cd9d8d8a31 100644
--- a/indra/media_plugins/quicktime/CMakeLists.txt
+++ b/indra/media_plugins/quicktime/CMakeLists.txt
@@ -56,6 +56,14 @@ add_dependencies(media_plugin_quicktime
   ${LLCOMMON_LIBRARIES}
 )
 
+if (WINDOWS)
+  set_target_properties(
+    media_plugin_quicktime
+    PROPERTIES
+    LINK_FLAGS "/MANIFEST:NO"
+    )
+endif (WINDOWS)
+
 if (QUICKTIME)
 
     add_definitions(-DLL_QUICKTIME_ENABLED=1)
diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt
index d96477279d86207438fc8c9be9e44cb12feebc63..5bccd589d80de18d27311d7591971814997f087d 100644
--- a/indra/media_plugins/webkit/CMakeLists.txt
+++ b/indra/media_plugins/webkit/CMakeLists.txt
@@ -52,6 +52,14 @@ add_dependencies(media_plugin_webkit
   ${LLCOMMON_LIBRARIES}
 )
 
+if (WINDOWS)
+  set_target_properties(
+    media_plugin_webkit
+    PROPERTIES
+    LINK_FLAGS "/MANIFEST:NO"
+    )
+endif (WINDOWS)
+
 if (DARWIN)
   # Don't prepend 'lib' to the executable name, and don't embed a full path in the library's install name
   set_target_properties(
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index af3868394bceaf09c608f079e43847b41949b622..d21e520974ba9157ec0cb7f988bb3a6839df88be 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -165,7 +165,7 @@ def final_exe(self):
 
 
     def test_msvcrt_and_copy_action(self, src, dst):
-        # This can is used to test a dll manifest.
+        # This is used to test a dll manifest.
         # It is used as a temporary override during the construct method
         from test_win32_manifest import test_assembly_binding
         if src and (os.path.exists(src) or os.path.islink(src)):
@@ -183,10 +183,38 @@ def test_msvcrt_and_copy_action(self, src, dst):
         else:
             print "Doesn't exist:", src
 
-    def enable_crt_check(self):
+    def test_for_no_msvcrt_manifest_and_copy_action(self, src, dst):
+        # This is used to test that no manifest for the msvcrt exists.
+        # It is used as a temporary override during the construct method
+        from test_win32_manifest import test_assembly_binding
+        if src and (os.path.exists(src) or os.path.islink(src)):
+            # ensure that destination path exists
+            self.cmakedirs(os.path.dirname(dst))
+            self.created_paths.append(dst)
+            if not os.path.isdir(src):
+                try:
+                    if(self.args['configuration'].lower() == 'debug'):
+                        test_assembly_binding(src, "Microsoft.VC80.DebugCRT", "")
+                    else:
+                        test_assembly_binding(src, "Microsoft.VC80.CRT", "")
+                    raise Exception("Unknown condition")
+                except Exception, err:
+                    if err.message != "No matching assembly" or err.message != "No manifest found":
+                        raise Exception("Found unexpected MSVCRT manifest binding")
+                    
+                self.ccopy(src,dst)
+            else:
+                raise Exception("Directories are not supported by test_CRT_and_copy_action()")
+        else:
+            print "Doesn't exist:", src
+        
+    def enable_crt_manifest_check(self):
         WindowsManifest.copy_action = WindowsManifest.test_msvcrt_and_copy_action
 
-    def disable_crt_check(self):
+    def enable_no_crt_manifest_check(self):
+        WindowsManifest.copy_action = WindowsManifest.test_for_no_msvcrt_manifest_and_copy_action
+
+    def disable_manifest_check(self):
         del WindowsManifest.copy_action
 
     def construct(self):
@@ -194,7 +222,7 @@ def construct(self):
         # Find secondlife-bin.exe in the 'configuration' dir, then rename it to the result of final_exe.
         self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe())
 
-        self.enable_crt_check()
+        self.enable_crt_manifest_check()
 
         # Plugin host application
         self.path(os.path.join(os.pardir,
@@ -220,7 +248,15 @@ def construct(self):
         except RuntimeError:
             print "Skipping llkdu.dll"
 
-        self.disable_crt_check()
+        self.disable_manifest_check()
+
+        # For textures
+        if self.prefix(src=self.args['configuration'], dst=""):
+            if(self.args['configuration'].lower() == 'debug'):
+                self.path("openjpegd.dll")
+            else:
+                self.path("openjpeg.dll")
+            self.end_prefix()
 
         self.path(src="licenses-win32.txt", dst="licenses.txt")
         self.path("featuretable.txt")
@@ -231,15 +267,7 @@ def construct(self):
         # For using FMOD for sound... DJS
         self.path("fmod.dll")
 
-        self.enable_crt_check()
-
-        # For textures
-        if self.prefix(src=self.args['configuration'], dst=""):
-            if(self.args['configuration'].lower() == 'debug'):
-                self.path("openjpegd.dll")
-            else:
-                self.path("openjpeg.dll")
-            self.end_prefix()
+        self.enable_no_crt_manifest_check()
 
         # Media plugins - QuickTime
         if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"):
@@ -271,7 +299,7 @@ def construct(self):
             self.path("qtiff4.dll")
             self.end_prefix()
 
-        self.disable_crt_check()
+        self.disable_manifest_check()
 
         # These need to be installed as a SxS assembly, currently a 'private' assembly.
         # See http://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx