diff --git a/contextmenu.py b/contextmenu.py
index be7a3df7..3b367ab2 100644
--- a/contextmenu.py
+++ b/contextmenu.py
@@ -94,15 +94,15 @@ if __name__ == '__main__':
         ret = xbmcgui.Dialog().select(header, options)
         if ret != -1:
             if options[ret] == utils.language(30402):
-                API.updateUserRating(embyid, deletelike=True)
+                emby.updateUserRating(embyid, deletelike=True)
             if options[ret] == utils.language(30403):
-                API.updateUserRating(embyid, like=True)
+                emby.updateUserRating(embyid, like=True)
             if options[ret] == utils.language(30404):
-                API.updateUserRating(embyid, like=False)
+                emby.updateUserRating(embyid, like=False)
             if options[ret] == utils.language(30405):
-                 API.updateUserRating(embyid, favourite=True)
+                emby.updateUserRating(embyid, favourite=True)
             if options[ret] == utils.language(30406):
-                API.updateUserRating(embyid, favourite=False)
+                emby.updateUserRating(embyid, favourite=False)
             if options[ret] == utils.language(30407):
                 kodiconn = utils.kodiSQL('music')
                 kodicursor = kodiconn.cursor()
@@ -117,7 +117,7 @@ if __name__ == '__main__':
                         musicutils.updateRatingToFile(newvalue, API.getFilePath())
                     if utils.settings('enableExportSongRating') == "true":
                         like, favourite, deletelike = musicutils.getEmbyRatingFromKodiRating(newvalue)
-                        API.updateUserRating(embyid, like, favourite, deletelike)
+                        emby.updateUserRating(embyid, like, favourite, deletelike)
                     query = ' '.join(( "UPDATE song","SET rating = ?", "WHERE idSong = ?" ))
                     kodicursor.execute(query, (newvalue,itemid,))
                     kodiconn.commit()
diff --git a/resources/lib/musicutils.py b/resources/lib/musicutils.py
index c58cb245..97db089d 100644
--- a/resources/lib/musicutils.py
+++ b/resources/lib/musicutils.py
@@ -3,13 +3,19 @@
 #################################################################################################
 
 import os
-import xbmc, xbmcaddon, xbmcvfs
-import utils
+
+import xbmc
+import xbmcaddon
+import xbmcvfs
+
 from mutagen.flac import FLAC, Picture
 from mutagen.id3 import ID3
 from mutagen import id3
 import base64
 
+import read_embyserver as embyserver
+import utils
+
 #################################################################################################
 
 # Helper for the music library, intended to fix missing song ID3 tags on Emby
@@ -62,6 +68,9 @@ def getEmbyRatingFromKodiRating(rating):
     return(like, favourite, deletelike)
 
 def getAdditionalSongTags(embyid, emby_rating, API, kodicursor, emby_db, enableimportsongrating, enableexportsongrating, enableupdatesongrating):
+    
+    emby = embyserver.Read_EmbyServer()
+
     previous_values = None
     filename = API.getFilePath()
     rating = 0
@@ -163,7 +172,7 @@ def getAdditionalSongTags(embyid, emby_rating, API, kodicursor, emby_db, enablei
         # sync details to emby server. Translation needed between ID3 rating and emby likes/favourites:
         like, favourite, deletelike = getEmbyRatingFromKodiRating(rating)
         utils.window("ignore-update-%s" %embyid, "true") #set temp windows prop to ignore the update from webclient update
-        API.updateUserRating(embyid, like, favourite, deletelike)
+        emby.updateUserRating(embyid, like, favourite, deletelike)
     
     return (rating, comment, hasEmbeddedCover)
         
diff --git a/resources/lib/read_embyserver.py b/resources/lib/read_embyserver.py
index 5c61b969..13c976a1 100644
--- a/resources/lib/read_embyserver.py
+++ b/resources/lib/read_embyserver.py
@@ -573,4 +573,29 @@ class Read_EmbyServer():
             if mediatype:
                 sorted_items.setdefault(mediatype, []).append(item)
 
-        return sorted_items
\ No newline at end of file
+        return sorted_items
+
+    def updateUserRating(self, itemid, like=None, favourite=None, deletelike=False):
+        # Updates the user rating to Emby
+        doUtils = self.doUtils
+        
+        if favourite:
+            url = "{server}/emby/Users/{UserId}/FavoriteItems/%s?format=json" % itemid
+            doUtils(url, type="POST")
+        elif favourite == False:
+            url = "{server}/emby/Users/{UserId}/FavoriteItems/%s?format=json" % itemid
+            doUtils(url, type="DELETE")
+
+        if not deletelike and like:
+            url = "{server}/emby/Users/{UserId}/Items/%s/Rating?Likes=true&format=json" % itemid
+            doUtils(url, type="POST")
+        elif not deletelike and like == False:
+            url = "{server}/emby/Users/{UserId}/Items/%s/Rating?Likes=false&format=json" % itemid
+            doUtil(url, type="POST")
+        elif deletelike:
+            url = "{server}/emby/Users/{UserId}/Items/%s/Rating?format=json" % itemid
+            doUtils(url, type="DELETE")
+
+        self.logMsg("Update user rating to emby for itemid: %s "
+                    "| like: %s | favourite: %s | deletelike: %s"
+                    % (itemid, like, favourite, deletelike), 1)
\ No newline at end of file