diff --git a/lib/FHEM/Devices/Matrix/Client.pm b/lib/FHEM/Devices/Matrix/Client.pm
index 7b962ff..aed795a 100644
--- a/lib/FHEM/Devices/Matrix/Client.pm
+++ b/lib/FHEM/Devices/Matrix/Client.pm
@@ -1588,6 +1588,7 @@ sub _PerformHttpRequestOrInternalTimerFAIL {
                 $def                      = $hash->{helper}->{repeat}->{def};
                 $value                    = $hash->{helper}->{repeat}->{value};
                 $hash->{helper}->{repeat} = undef;
+
                 _PerformHttpRequest( $hash, $def, $value );
             }
             else {
@@ -1615,6 +1616,18 @@ sub _PerformHttpRequestOrInternalTimerFAIL {
                 \&FHEM::Devices::Matrix::Client::Login, $hash );
         }
     }
+    elsif ( $hash->{helper}->{softfail} < 3 ) {
+        if ( $nextRequest eq 'login' ) {
+            _PerformHttpRequest( $hash, $nextRequest, '' );
+        }
+        elsif ( $nextRequest eq 'sync' && $hash->{helper}->{repeat} ) {
+            $def                      = $hash->{helper}->{repeat}->{def};
+            $value                    = $hash->{helper}->{repeat}->{value};
+            $hash->{helper}->{repeat} = undef;
+
+            _PerformHttpRequest( $hash, $def, $value );
+        }
+    }
 
     return;
 }