diff --git a/telebot/apihelper.py b/telebot/apihelper.py
index 5d84add..e75ed53 100644
--- a/telebot/apihelper.py
+++ b/telebot/apihelper.py
@@ -498,7 +498,10 @@ def send_video(token, chat_id, data, duration=None, caption=None, reply_to_messa
         payload['connect-timeout'] = timeout
     if thumb:
         if not util.is_string(thumb):
-            files['thumb'] = thumb
+            if files:
+                files['thumb'] = thumb
+            else:
+                files = {'thumb': thumb}
         else:
             payload['thumb'] = thumb
     if width:
@@ -533,7 +536,10 @@ def send_animation(token, chat_id, data, duration=None, caption=None, reply_to_m
         payload['connect-timeout'] = timeout
     if thumb:
         if not util.is_string(thumb):
-            files['thumb'] = thumb
+            if files:
+                files['thumb'] = thumb
+            else:
+                files = {'thumb': thumb}
         else:
             payload['thumb'] = thumb
     return _make_request(token, method_url, params=payload, files=files, method='post')
@@ -590,7 +596,10 @@ def send_video_note(token, chat_id, data, duration=None, length=None, reply_to_m
         payload['connect-timeout'] = timeout
     if thumb:
         if not util.is_string(thumb):
-            files['thumb'] = thumb
+            if files:
+                files['thumb'] = thumb
+            else:
+                files = {'thumb': thumb}
         else:
             payload['thumb'] = thumb
     return _make_request(token, method_url, params=payload, files=files, method='post')
@@ -625,7 +634,10 @@ def send_audio(token, chat_id, audio, caption=None, duration=None, performer=Non
         payload['connect-timeout'] = timeout
     if thumb:
         if not util.is_string(thumb):
-            files['thumb'] = thumb
+            if files:
+                files['thumb'] = thumb
+            else:
+                files = {'thumb': thumb}
         else:
             payload['thumb'] = thumb
     return _make_request(token, method_url, params=payload, files=files, method='post')
@@ -654,7 +666,10 @@ def send_data(token, chat_id, data, data_type, reply_to_message_id=None, reply_m
         payload['caption'] = caption
     if thumb:
         if not util.is_string(thumb):
-            files['thumb'] = thumb
+            if files:
+                files['thumb'] = thumb
+            else:
+                files = {'thumb': thumb}
         else:
             payload['thumb'] = thumb
     return _make_request(token, method_url, params=payload, files=files, method='post')