diff --git a/raiden/routing.py b/raiden/routing.py
index <HASH>..<HASH> 100644
--- a/raiden/routing.py
+++ b/raiden/routing.py
@@ -125,6 +125,9 @@ def get_best_routes(
         if partner_address == previous_address:
             continue
 
+        if channel_state is None:
+            continue
+
         if channel.get_status(channel_state) != CHANNEL_STATE_OPENED:
             log.info(
                 'channel %s - %s is not opened, ignoring' %
diff --git a/raiden/transfer/views.py b/raiden/transfer/views.py
index <HASH>..<HASH> 100644
--- a/raiden/transfer/views.py
+++ b/raiden/transfer/views.py
@@ -274,7 +274,7 @@ def get_channelstate_by_token_network_and_partner(
         chain_state: ChainState,
         token_network_id: typing.Address,
         partner_address: typing.Address,
-):
+) -> typing.Optional[NettingChannelState]:
     """ Return the NettingChannelState if it exists, None otherwise. """
     token_network = get_token_network_by_identifier(
         chain_state,
Fix routing through unavailable channels

Issue #<I>

[ci integration]