diff --git a/emhttp/plugins/dynamix/Terminal.page b/emhttp/plugins/dynamix/Terminal.page
index 923f5cfdf..7aeb348d4 100644
--- a/emhttp/plugins/dynamix/Terminal.page
+++ b/emhttp/plugins/dynamix/Terminal.page
@@ -15,23 +15,34 @@ Icon="terminal"
?>
\ No newline at end of file
+}
+
+function basename(path) {
+ return path.replace(/.*\//, '');
+}
+
+
\ No newline at end of file
diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php b/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php
index d0ad8bc75..d7b5fa7f5 100644
--- a/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php
+++ b/emhttp/plugins/dynamix/include/DefaultPageLayout/HeadInlineJS.php
@@ -163,6 +163,9 @@ function openTerminal(tag,name,more) {
// open terminal window (run in background)
name = name.replace(/[ #]/g,"_");
tty_window = makeWindow(name+(more=='.log'?more:''),Math.min(screen.availHeight,800),Math.min(screen.availWidth,1200));
+ if ( tty_window === null ) {
+ throw new Error('Failed to open terminal window');
+ }
var socket = ['ttyd','syslog'].includes(tag) ? '/webterminal/'+tag+'/' : '/logterminal/'+name+(more=='.log'?more:'')+'/';
$.get('/webGui/include/OpenTerminal.php',{tag:tag,name:name,more:more},function(){setTimeout(function(){tty_window.location=socket; tty_window.focus();},200);});
}