diff --git a/plasmoid/package/contents/ui/ContextMenu.qml b/plasmoid/package/contents/ui/ContextMenu.qml
index a994b2486..96b2b8f8f 100644
--- a/plasmoid/package/contents/ui/ContextMenu.qml
+++ b/plasmoid/package/contents/ui/ContextMenu.qml
@@ -147,7 +147,7 @@ PlasmaComponents.ContextMenu {
         // Add Media Player control actions
         var sourceName = mpris2Source.sourceNameForLauncherUrl(launcherUrl, get(atm.AppPid));
 
-        if (sourceName && !(get(atm.LegacyWinIdList) != undefined && get(atm.LegacyWinIdList).length > 1)) {
+        if (sourceName && !(get( root.plasma515 ? atm.WinIdList : atm.LegacyWinIdList ) != undefined && get( root.plasma515 ? atm.WinIdList : atm.LegacyWinIdList ).length > 1)) {
             var playerData = mpris2Source.data[sourceName]
 
             if (playerData.CanControl) {
diff --git a/plasmoid/package/contents/ui/main.qml b/plasmoid/package/contents/ui/main.qml
index 8ce41fb5b..24f3474ae 100644
--- a/plasmoid/package/contents/ui/main.qml
+++ b/plasmoid/package/contents/ui/main.qml
@@ -59,6 +59,8 @@ Item {
     //it is used to check both the applet and the containment for direct render
     property bool globalDirectRender: latteView ? latteView.globalDirectRender : icList.directRender
 
+    property bool plasma515: Latte.WindowSystem.plasmaDesktopVersion >= Latte.WindowSystem.makeVersion(5,14,90)
+
     property bool editMode: latteView ? latteView.editMode : plasmoid.userConfiguring
     property bool disableRestoreZoom: false //blocks restore animation in rightClick
     property bool disableAllWindowsFunctionality: root.showWindowsOnlyFromLaunchers && root.activeIndicator === Latte.Types.NoneIndicator
diff --git a/plasmoid/package/contents/ui/task/TaskDelegate.qml b/plasmoid/package/contents/ui/task/TaskDelegate.qml
index e45bfaad4..aa845ebe2 100644
--- a/plasmoid/package/contents/ui/task/TaskDelegate.qml
+++ b/plasmoid/package/contents/ui/task/TaskDelegate.qml
@@ -762,7 +762,7 @@ MouseArea{
 
         ////disable hover effect///
         if (isWindow && root.highlightWindows && !containsMouse) {
-            root.windowsHovered(model.LegacyWinIdList, false);
+            root.windowsHovered( root.plasma515 ? model.WinIdList : model.LegacyWinIdList , false);
         }
     }
 
@@ -969,7 +969,7 @@ MouseArea{
         else{
             if (model.IsGroupParent) {
                 if (Latte.WindowSystem.compositingActive && backend.canPresentWindows()) {
-                    root.presentWindows(model.LegacyWinIdList);
+                    root.presentWindows(root.plasma515 ? model.WinIdList: model.LegacyWinIdList );
                 } else {
                     if ((windowsPreviewDlg.visualParent === previewsVisualParent)&&(windowsPreviewDlg.visible)) {
                         windowsPreviewDlg.hide(3);
@@ -1024,7 +1024,7 @@ MouseArea{
         }
 
         toolTipDelegate.windows = Qt.binding(function() {
-            return model.LegacyWinIdList;
+            return root.plasma515 ? model.WinIdList : model.LegacyWinIdList ;
         });
         toolTipDelegate.isGroup = Qt.binding(function() {
             return model.IsGroupParent == true;
@@ -1427,7 +1427,7 @@ MouseArea{
                         mainItemContainer.preparePreviewWindow(false);
                         windowsPreviewDlg.show(mainItemContainer);
                     } else if (mainItemContainer.isWindow && root.highlightWindows) {
-                        root.windowsHovered(model.LegacyWinIdList, mainItemContainer.containsMouse);
+                        root.windowsHovered( root.plasma515 ? model.WinIdList : model.LegacyWinIdList , mainItemContainer.containsMouse);
                     }
                 }
 
diff --git a/plasmoid/package/contents/ui/task/TaskWindows.qml b/plasmoid/package/contents/ui/task/TaskWindows.qml
index 35365ebfe..42494c98d 100644
--- a/plasmoid/package/contents/ui/task/TaskWindows.qml
+++ b/plasmoid/package/contents/ui/task/TaskWindows.qml
@@ -64,7 +64,7 @@ Item{
                 onIsMinimizedChanged: windowsContainer.updateStates();
                 onIsActiveChanged:  {
                     if (isActive) {
-                        windowsContainer.lastActiveWinInGroup = (LegacyWinIdList!==undefined ? LegacyWinIdList[0] : 0);
+                        windowsContainer.lastActiveWinInGroup = root.plasma515 ? (WinIdList!==undefined ? WinIdList[0] : 0) : (LegacyWinIdList!==undefined ? LegacyWinIdList[0] : 0);
                     }
                     windowsContainer.updateStates();
                 }
@@ -184,7 +184,7 @@ Item{
         if (nextAvailableWindow === -1 && lastActiveWinInGroup !==-1){
             for(var i=0; i<childs.count; ++i){
                 var kid = childs.get(i);
-                var kidId = kid.model.LegacyWinIdList ? kid.model.LegacyWinIdList[0] : 0;
+                var kidId = root.plasma515 ? (kid.model.WinIdList ? kid.model.WinIdList[0] : 0) : (kid.model.LegacyWinIdList ? kid.model.LegacyWinIdList[0] : 0);
 
                 if (kidId === lastActiveWinInGroup) {
                     nextAvailableWindow = i;
@@ -229,7 +229,7 @@ Item{
         if (prevAvailableWindow === -2 && lastActiveWinInGroup !==-1){
             for(var i=childs.count-1; i>=0; --i){
                 var kid = childs.get(i);
-                if (kid.model.LegacyWinIdList[0] === lastActiveWinInGroup) {
+                if ( (root.plasma515 ? kid.model.WinIdList[0] : kid.model.LegacyWinIdList[0]) === lastActiveWinInGroup) {
                     prevAvailableWindow = i;
                     break;
                 }