diff --git a/fhem/FHEM/Blocking.pm b/fhem/FHEM/Blocking.pm
index 3fe9fd9aa..b7db83120 100644
--- a/fhem/FHEM/Blocking.pm
+++ b/fhem/FHEM/Blocking.pm
@@ -52,18 +52,16 @@ BlockingCall($$@)
 
   # If not suitable telnet device found, create a temporary one
   if(!$telnetDevice) {
-    if(!CommandDefine(undef, "$tName telnet 0")) {
-      CommandAttr(undef, "$tName room hidden");
-      $telnetDevice = $tName;
-      $defs{$tName}{TEMPORARY} = 1;
-      $attr{$tName}{allowfrom} = "127.0.0.1";
+    my $ret = CommandDefine(undef, "$tName telnet 0");
+    if($ret) {
+      $ret = "CallBlockingFn: No telnet port found and cannot create one: $ret";
+      Log 1, $ret;
+      return $ret;
     }
-  }
-
-  if(!$telnetDevice) {
-    my $msg = "CallBlockingFn: No telnet port found and cannot create one.";
-    Log 1, $msg;
-    return $msg;
+    CommandAttr(undef, "$tName room hidden");
+    $telnetDevice = $tName;
+    $defs{$tName}{TEMPORARY} = 1;
+    $attr{$tName}{allowfrom} = "127.0.0.1";
   }
 
   # do fork
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index e7cf9ef6f..e5b59f154 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -1680,7 +1680,7 @@ CommandDefine($$)
 
   my $ret = CallFn($name, "DefFn", \%hash, $def);
   if($ret) {
-    Log 1, "define $name $def: $ret";
+    Log 1, "define $def: $ret";
     delete $defs{$name};                            # Veto
     delete $attr{$name};
 
@@ -2670,7 +2670,7 @@ HandleTimeout()
   # Check the internal list.
   foreach my $i (sort { $intAt{$a}{TRIGGERTIME} <=>
                         $intAt{$b}{TRIGGERTIME} } keys %intAt) {
-    next if(!$intAt{$i}); # deleted in the loop
+    next if(!defined($i) || !$intAt{$i}); # deleted in the loop
     my $tim = $intAt{$i}{TRIGGERTIME};
     my $fn = $intAt{$i}{FN};
     if(!defined($tim) || !defined($fn)) {