diff --git "a/C:\\Users\\hati\\AppData\\Local\\Temp\\TortoiseGit\\Vid76F.tmp\\VideoThumbCreator-c648ca4-left.cs" "b/C:\\mp\\MediaPortal-1\\mediaportal\\Core\\Util\\VideoThumbCreator.cs"
index 81d847d..c0059d7 100644
--- "a/C:\\Users\\hati\\AppData\\Local\\Temp\\TortoiseGit\\Vid76F.tmp\\VideoThumbCreator-c648ca4-left.cs"
+++ "b/C:\\mp\\MediaPortal-1\\mediaportal\\Core\\Util\\VideoThumbCreator.cs"
@@ -29,6 +29,7 @@ using MediaPortal.ServiceImplementations;
 using MediaPortal.Profile;
 using MediaPortal.Services;
 
+
 namespace MediaPortal.Util
 {
   public class VideoThumbCreator
@@ -37,6 +38,7 @@ namespace MediaPortal.Util
     private static string ExtractorPath = Config.GetFile(Config.Dir.Base, "MovieThumbnailer", ExtractApp);
     private static int PreviewColumns = 2;
     private static int PreviewRows = 2;
+    private static int preRecordInterval = 1;
     private static bool LeaveShareThumb = false;
     private static bool NeedsConfigRefresh = true;
 
@@ -49,8 +51,9 @@ namespace MediaPortal.Util
         PreviewColumns = xmlreader.GetValueAsInt("thumbnails", "videothumbcols", 1);
         PreviewRows = xmlreader.GetValueAsInt("thumbnails", "videothumbrows", 1);
         LeaveShareThumb = xmlreader.GetValueAsBool("thumbnails", "videosharepreview", false);
-        Log.Debug("VideoThumbCreator: Settings loaded - using {0} columns and {1} rows. Share thumb = {2}",
-                  PreviewColumns, PreviewRows, LeaveShareThumb);
+        preRecordInterval = xmlreader.GetValueAsInt("thumbnails", "preRecordInterval", 1);
+        Log.Debug("VideoThumbCreator: Settings loaded - using {0} columns and {1} rows. Share thumb = {2}, preRecordInterval = {3}.",
+                  PreviewColumns, PreviewRows, LeaveShareThumb, preRecordInterval);
         NeedsConfigRefresh = false;
       }
     }
@@ -72,6 +75,8 @@ namespace MediaPortal.Util
     [MethodImpl(MethodImplOptions.Synchronized)]
     public static bool CreateVideoThumb(string aVideoPath, string aThumbPath, bool aCacheThumb, bool aOmitCredits)
     {
+      Log.Warn("VideoThumbCreator: args {0}, {1}!", aVideoPath, aThumbPath);
+
       if (NeedsConfigRefresh)
       {
         LoadSettings();
@@ -128,13 +133,15 @@ namespace MediaPortal.Util
       const double flblank = 0.6;
       string blank = flblank.ToString("F", CultureInfo.CurrentCulture);
 
-      int preGapSec = 5;
-      int postGapSec = 5;
+      int preGapSec = preRecordInterval*60; 
+
+      int intRnd = 0;
       if (aOmitCredits)
       {
-        preGapSec = 420;
-        postGapSec = 600;
+        Random rnd = new Random();
+        intRnd = rnd.Next(10, 300);
       }
+      Log.Debug("VideoThumbCreator: random value: {0}", intRnd);
       bool Success = false;
       /*string ExtractorArgs = string.Format(" -D 6 -B {0} -E {1} -c {2} -r {3} -b {4} -t -i -w {5} -n -P \"{6}\"",
                                            preGapSec, postGapSec, PreviewColumns, PreviewRows, blank, 0, aVideoPath);
@@ -144,7 +151,7 @@ namespace MediaPortal.Util
       
       string strFilenamewithoutExtension = Path.ChangeExtension(aVideoPath, null);
       string ffmpegArgs = string.Format("select=isnan(prev_selected_t)+gte(t-prev_selected_t" + "\\" + ",5),yadif=0:-1:0,scale=600:337,setsar=1:1,tile={0}x{1}", PreviewColumns, PreviewRows);
-      string ExtractorArgs = string.Format("-loglevel quiet -ss {0} -i \"{1}\" -vf {2} -vframes 1 -vsync 0 -an \"{3}_s.jpg\"", preGapSec, aVideoPath, ffmpegArgs, strFilenamewithoutExtension);
+      string ExtractorArgs = string.Format("-loglevel quiet -ss {0} -i \"{1}\" -vf {2} -vframes 1 -vsync 0 -an \"{3}_s.jpg\"", preGapSec+intRnd, aVideoPath, ffmpegArgs, strFilenamewithoutExtension);
       string ExtractorFallbackArgs = string.Format("-loglevel quiet -ss {0} -i \"{1}\" -vf {2} -vframes 1 -vsync 0 -an \"{3}_s.jpg\"", 5, aVideoPath, ffmpegArgs, strFilenamewithoutExtension);
       
       // Honour we are using a unix app
@@ -157,15 +164,22 @@ namespace MediaPortal.Util
         string ShareThumb = OutputThumb.Replace("_s.jpg", ".jpg");
 
         if ((LeaveShareThumb && !Util.Utils.FileExistsInCache(ShareThumb))
-            // No thumb in share although it should be there
+            // No thumb in share although it should be there 
+            || (LeaveShareThumb && aOmitCredits)
+            // or a refress needs by user (from context menu)
             || (!LeaveShareThumb && !Util.Utils.FileExistsInCache(aThumbPath)))
           // No thumb cached and no chance to find it in share
         {
           //Log.Debug("VideoThumbCreator: No thumb in share {0} - trying to create one with arguments: {1}", ShareThumb, ExtractorArgs);
+          if (aOmitCredits)
+          {
+            File.Delete(ShareThumb);
+          }
           Success = Utils.StartProcess(ExtractorPath, ExtractorArgs, TempPath, 15000, true, GetMtnConditions());
           if (!Success)
           {
             // Maybe the pre-gap was too large or not enough sharp & light scenes could be caught
+            //Log.Debug("VideoThumbCreator: not success");
             Thread.Sleep(100);
             Success = Utils.StartProcess(ExtractorPath, ExtractorFallbackArgs, TempPath, 30000, true, GetMtnConditions());
             if (!Success)
