diff --git a/src/octoprint/static/js/app/viewmodels/files.js b/src/octoprint/static/js/app/viewmodels/files.js
index c7d8678e..77484a36 100644
--- a/src/octoprint/static/js/app/viewmodels/files.js
+++ b/src/octoprint/static/js/app/viewmodels/files.js
@@ -277,7 +277,9 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel) {
} else {
var i = 0;
do {
- output += "Filament (Tool " + i + "): " + formatFilament(data["gcodeAnalysis"]["filament"]["tool" + i]) + "
";
+ if (filament["tool" + i].hasOwnProperty("length") && filament["tool" + i]["length"] > 0) {
+ output += "Filament (Tool " + i + "): " + formatFilament(filament["tool" + i]) + "
";
+ }
i++;
} while (filament.hasOwnProperty("tool" + i));
}
diff --git a/src/octoprint/static/js/app/viewmodels/printerstate.js b/src/octoprint/static/js/app/viewmodels/printerstate.js
index 7dfad297..98e17d13 100644
--- a/src/octoprint/static/js/app/viewmodels/printerstate.js
+++ b/src/octoprint/static/js/app/viewmodels/printerstate.js
@@ -133,10 +133,12 @@ function PrinterStateViewModel(loginStateViewModel) {
var i = 0;
do {
var key = "tool" + i;
- result[i] = {
- name: ko.observable("Tool " + i),
- data: ko.observable(data.filament[key])
- };
+ if (data.filament[key].hasOwnProperty("length") && data.filament[key].length > 0) {
+ result.push({
+ name: ko.observable("Tool " + i),
+ data: ko.observable(data.filament[key])
+ });
+ }
i++;
} while (data.filament.hasOwnProperty("tool" + i));
}