diff --git a/Builds/Linux/build/savedState.xml b/Builds/Linux/build/savedState.xml
index 7d087eb0cf0d65e37923f34cf23e79a5bbada203..a7a54b2f6712a08300772040c208fa1665e37058 100644
--- a/Builds/Linux/build/savedState.xml
+++ b/Builds/Linux/build/savedState.xml
@@ -3,6 +3,8 @@
 <PROCESSORGRAPH>
   <SIGNALCHAIN>
     <PROCESSOR name="Sources/Intan Demo Board" insertionPoint="0"/>
-    <PROCESSOR name="Sinks/LFP Viewer" insertionPoint="1"/>
+    <PROCESSOR name="Filters/Bandpass Filter" insertionPoint="1"/>
+    <PROCESSOR name="Filters/Bandpass Filter" insertionPoint="2"/>
+    <PROCESSOR name="Sinks/LFP Viewer" insertionPoint="3"/>
   </SIGNALCHAIN>
 </PROCESSORGRAPH>
diff --git a/Builds/Linux/build/windowState.xml b/Builds/Linux/build/windowState.xml
index 3488bf5bf021bfbe29f2e82add4a1ccad002fcaf..0172cab1bdb1fe2b6647aff4e0afe72536fa594b 100644
--- a/Builds/Linux/build/windowState.xml
+++ b/Builds/Linux/build/windowState.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <MAINWINDOW>
-  <BOUNDS x="1739" y="52" w="1181" h="831" fullscreen="0"/>
+  <BOUNDS x="1745" y="52" w="1229" h="968" fullscreen="0"/>
 </MAINWINDOW>
diff --git a/Source/Processors/DataThreads/IntanThread.cpp b/Source/Processors/DataThreads/IntanThread.cpp
index fec0ac7dba9eab52f97a278f9eb89e8d3eca54f6..b8c1faeb18d350df997dff1950172421fd594a26 100644
--- a/Source/Processors/DataThreads/IntanThread.cpp
+++ b/Source/Processors/DataThreads/IntanThread.cpp
@@ -94,6 +94,8 @@ bool IntanThread::stopAcquisition()
         unsigned char buf[4097]; // has to be bigger than the on-chip buffer
         ftdi_read_data(&ftdic, buf, sizeof(buf));
         closeUSB();
+    } else {
+        deviceFound = false;
     }
 
     return true;
diff --git a/Source/Processors/FilterNode.cpp b/Source/Processors/FilterNode.cpp
index 2659697723d8700f50b0b8cf49f16261f0610bc2..7f247fabc6211705a94a22e645339595676d3b3d 100644
--- a/Source/Processors/FilterNode.cpp
+++ b/Source/Processors/FilterNode.cpp
@@ -208,7 +208,7 @@ void FilterNode::process(AudioSampleBuffer &buffer,
 
 	//int nSamps = getNumSamples(midiMessages);
 	//std::cout << nSamples << std::endl;
-    filter->process (nSamples, buffer.getArrayOfChannels());
+    //filter->process (nSamples, buffer.getArrayOfChannels());
 
     //std::cout << "Filter node:" << *buffer.getSampleData(0,0);
 
diff --git a/Source/Processors/SourceNode.cpp b/Source/Processors/SourceNode.cpp
index ef09b9c3c702e6a1fc3234517e98efae69853f66..661273b585e74fc9437578c4a116b28dc7761b82 100644
--- a/Source/Processors/SourceNode.cpp
+++ b/Source/Processors/SourceNode.cpp
@@ -213,11 +213,13 @@ bool SourceNode::disable() {
 
 void SourceNode::acquisitionStopped()
 {
-	std::cout << "Source node sending signal to UI." << std::endl;
-	UI->disableCallbacks();
-	enabledState(false);
-	GenericEditor* ed = (GenericEditor*) getEditor();
-	viewport->updateVisibleEditors(ed, 4);
+	if (!dataThread->foundInputSource()) {
+		std::cout << "Source node sending signal to UI." << std::endl;
+		UI->disableCallbacks();
+		enabledState(false);
+		GenericEditor* ed = (GenericEditor*) getEditor();
+		viewport->updateVisibleEditors(ed, 4);
+	}
 }