diff --git a/substrate/client/service/src/lib.rs b/substrate/client/service/src/lib.rs
index 0a7d5ff103f3cf2c28abd7577e4a06ff5e8c797d..74f6ee4917d3c9fae0a64723dc2beb6968d62103 100644
--- a/substrate/client/service/src/lib.rs
+++ b/substrate/client/service/src/lib.rs
@@ -648,7 +648,11 @@ where
 	}
 
 	fn transaction(&self, hash: &H) -> Option<B::Extrinsic> {
-		self.pool.ready_transaction(hash).map(|tx| tx.data().clone())
+		self.pool.ready_transaction(hash)
+			.and_then(
+				// Only propagable transactions should be resolved for network service.
+				|tx| if tx.is_propagable() { Some(tx.data().clone()) } else { None }
+			)
 	}
 }