diff --git a/PhotoThumbnail/TgaThumbnailer.cs b/PhotoThumbnail/TgaThumbnailer.cs
index f4e8fa4..64b433b 100644
--- a/PhotoThumbnail/TgaThumbnailer.cs
+++ b/PhotoThumbnail/TgaThumbnailer.cs
@@ -13,9 +13,7 @@ namespace PhotoThumbnail
     [ThumbnailProvider("TgaThumbnailer", ".tga", ThumbnailAdornment = ThumbnailAdornment.PhotoBorder)]
     public class TgaThumbnailer : ThumbnailProvider, IThumbnailFromStream, IThumbnailFromFile
     {
-        #region IThumbnailFromStream Members
-
-        public Bitmap ConstructBitmap(Stream stream, int sideSize)
+        private Bitmap GetBitmap(Stream stream, int sideSize)
         {
             Bitmap bitmap = TgaDecoder.FromStream(stream);
 
@@ -39,6 +37,16 @@ namespace PhotoThumbnail
             return bitmap;
         }
 
+        #region IThumbnailFromStream Members
+
+        public Bitmap ConstructBitmap(Stream stream, int sideSize)
+        {
+            using (stream)
+            {
+                return GetBitmap(stream, sideSize);
+            }
+        }
+
         #endregion
 
         #region IThumbnailFromFile Members
@@ -47,7 +55,7 @@ namespace PhotoThumbnail
         {
             using (FileStream stream = File.OpenRead(info.FullName))
             {
-                return ConstructBitmap(stream, sideSize);
+                return GetBitmap(stream, sideSize);
             }
         }
 
diff --git a/ShellExtensions/PreviewHandlers/PreviewHandler.cs b/ShellExtensions/PreviewHandlers/PreviewHandler.cs
index 9e87656..fc6dee7 100644
--- a/ShellExtensions/PreviewHandlers/PreviewHandler.cs
+++ b/ShellExtensions/PreviewHandlers/PreviewHandler.cs
@@ -339,7 +339,7 @@ namespace ShellExtensions
         private static void ThrowIfNotValid(Type type)
         {
             var interfaces = type.GetInterfaces();
-            if (!interfaces.Any(x => x is IPreviewFromStream || x is IPreviewFromFile))
+            if (!interfaces.Any(x => x == typeof(IPreviewFromStream) || x == typeof(IPreviewFromFile)))
             {
                 throw new NotImplementedException(
                     string.Format(System.Globalization.CultureInfo.InvariantCulture,
diff --git a/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs b/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs
index ee1627c..0485216 100644
--- a/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs
+++ b/ShellExtensions/PreviewHandlers/WinFormsPreviewHandler.cs
@@ -1,4 +1,4 @@
-#if PREVIEW_HANDLER
+#if PREVIEW_HANDLER_WINFORM
 using ShellExtensions.Interop;
 using ShellExtensions.Interop.Common;
 using ShellExtensions.Resources;
diff --git a/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs b/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs
index b97e3db..8997737 100644
--- a/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs
+++ b/ShellExtensions/ThumbnailProviders/ThumbnailProvider.cs
@@ -200,9 +200,9 @@ namespace ShellExtensions
             }
 
             var interfaces = type.GetInterfaces();
-            bool interfaced = interfaces.Any(x => x is IThumbnailFromStream);
+            bool interfaced = interfaces.Any(x => x == typeof(IThumbnailFromStream));
 
-            if (interfaces.Any(x => x is IThumbnailFromFile))
+            if (interfaces.Any(x => x == typeof(IThumbnailFromFile)))
             {
                 // According to MSDN (http://msdn.microsoft.com/en-us/library/cc144114(v=VS.85).aspx)
                 // A thumbnail provider that does not implement IInitializeWithStream must opt out of