diff --git a/device.c b/device.c
index 3e4d5c4..699a2b7 100755
--- a/device.c
+++ b/device.c
@@ -979,7 +979,7 @@ bool cPvrDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
 {
   bool result = false;
   bool hasPriority = Priority < 0 || Priority > this->Priority();
-  bool needsDetachReceivers = true;
+  bool needsDetachReceivers = Receiving(true);
   int input, LinesPerFrame, dev;
   uint64_t norm;
   eInputType inputType; //only dummy
