diff --git a/pve-mod-gui-sensors.sh b/pve-mod-gui-sensors.sh
index a25206c..4297a40 100644
--- a/pve-mod-gui-sensors.sh
+++ b/pve-mod-gui-sensors.sh
@@ -521,7 +521,7 @@ Ext.define('PVE.mod.TempHelper', {\n\
cpuKeys.forEach((cpuKey, cpuIndex) => {\n\
let cpuTemps = [];\n\
const items = objValue[cpuKey];\n\
- const itemKeys = Object.keys(items).filter(item => { return String(item).startsWith(cpuItemPrefix); });\n\
+ const itemKeys = Object.keys(items).filter(item => { return String(item).includes(cpuItemPrefix); });\n\
itemKeys.forEach((coreKey) => {\n\
try {\n\
let tempVal = NaN, tempMax = NaN, tempCrit = NaN;\n\
@@ -543,12 +543,19 @@ Ext.define('PVE.mod.TempHelper', {\n\
tempStyle = 'color: red; font-weight: bold;';\n\
}\n\
let tempStr = '';\n\
- let tempIndex = coreKey.match(/\\\S+\\\s*(\\\d+)/);\n\
+ let tempIndex = coreKey.match(\/(?:P\\\s+Core|E\\\s+Core|Core)\\\s*(\\\d+)\/);\n\
if (tempIndex !== null && tempIndex.length > 1) {\n\
tempIndex = tempIndex[1];\n\
- tempStr = \`\${cpuTempCaption} \${tempIndex}: \${Ext.util.Format.number(tempVal, formatTemp)}\${cpuTempHelper.getUnit()}\`;\n\
+ let coreType = coreKey.startsWith('P Core') ? 'P Core' :\n\
+ coreKey.startsWith('E Core') ? 'E Core' :\n\
+ cpuTempCaption;\n\
+ tempStr = \`\${coreType} \${tempIndex}: \${Ext.util.Format.number(tempVal, formatTemp)}\${cpuTempHelper.getUnit()}\`;\n\
} else {\n\
- tempStr = \`\${cpuTempCaption}: \${Ext.util.Format.number(tempVal, formatTemp)}\${cpuTempHelper.getUnit()}\`;\n\
+ // fallback for CPUs which do not have a core index\n\
+ let coreType = coreKey.startsWith('P Core') ? 'P Core' :\n\
+ coreKey.startsWith('E Core') ? 'E Core' :\n\
+ cpuTempCaption;\n\
+ tempStr = \`\${coreType}: \${Ext.util.Format.number(tempVal, formatTemp)}\${cpuTempHelper.getUnit()}\`;\n\
}\n\
cpuTemps.push(tempStr);\n\
}\n\