diff --git a/htdocs/openwebrx.js b/htdocs/openwebrx.js
index 381da83dade6b227c28daabc52b4a158be78a8d9..a566fc74dc863b0b9ffe8dca04f047ec2c93a0a5 100755
--- a/htdocs/openwebrx.js
+++ b/htdocs/openwebrx.js
@@ -897,7 +897,7 @@ function canvas_mousewheel(evt)
 	//console.log(evt);
 	var relativeX=(evt.offsetX)?evt.offsetX:evt.layerX;
 	var dir=(evt.deltaY/Math.abs(evt.deltaY))>0;
-	console.log(dir);
+	//console.log(dir);
 	//i/=120;
 	/*while (i--)*/ zoom_step(dir, relativeX, zoom_center_where_calc(evt.pageX));
 	evt.preventDefault();	
@@ -1261,6 +1261,7 @@ function on_ws_error(event)
 
 function open_websocket()
 {
+	//ws_url="ws://"+(window.location.origin.split("://")[1])+"/ws/" //guess automatically
 	if (!("WebSocket" in window)) 
 		divlog("Your browser does not support WebSocket, which is required for WebRX to run. Please upgrade to a HTML5 compatible browser.");
 	ws = new WebSocket(ws_url+client_id);
diff --git a/openwebrx.py b/openwebrx.py
index fdb2f5e81a47833259badbff03ed5be6364a8aef..61ea3356f7dff97ea23b9f6f1d092a8e762489a2 100755
--- a/openwebrx.py
+++ b/openwebrx.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 print "" # python2.7 is required to run OpenWebRX instead of python3. Please run me by: python2 openwebrx.py
 """
 OpenWebRX: open-source web based SDR for everyone!
@@ -54,6 +54,7 @@ import ctypes
 import rxws
 import uuid
 import config_webrx as cfg
+import signal
 
 def import_all_plugins(directory):
 	for subdir in os.listdir(directory):
@@ -67,10 +68,13 @@ def import_all_plugins(directory):
 class MultiThreadHTTPServer(ThreadingMixIn, HTTPServer):
     pass 
 
+def handle_signal(signal, frame):
+	print "[openwebrx] Ctrl+C: aborting."
+	os._exit(1) #not too graceful exit
+
 def main():
 	global clients
 	global clients_mutex
-
 	print
 	print "OpenWebRX - Open Source Web Based SDR for Everyone  | for license see LICENSE file in the package"
 	print "_________________________________________________________________________________________________"
@@ -78,6 +82,9 @@ def main():
 	print "Author contact info:    Andras Retzler, HA7ILM <randras@sdr.hu>"
 	print 
 
+	#Set signal handler
+	signal.signal(signal.SIGINT, handle_signal) #http://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python
+
 	#Load plugins
 	import_all_plugins("plugins/dsp/")
 
@@ -98,9 +105,9 @@ def main():
 		print "[openwebrx-main] Started rtl thread: "+cfg.start_rtl_command
 
 	#Run rtl_mus.py in a different OS thread
-	rtl_mus_thread=threading.Thread(target = lambda:subprocess.Popen("python rtl_mus.py config_rtl", shell=True), args=())
+	rtl_mus_thread=threading.Thread(target = lambda:subprocess.Popen("python2 rtl_mus.py config_rtl", shell=True), args=())
 	rtl_mus_thread.start() # The new feature in GNU Radio 3.7: top_block() locks up ALL python threads until it gets the TCP connection.
-	print "[openwebrx-main] Started rtl_mus"
+	print "[openwebrx-main] Started rtl_mus."
 	time.sleep(1) #wait until it really starts	
 
 	#Initialize clients
diff --git a/rtl_mus.py b/rtl_mus.py
index b348961b8fabb558605d7f8198b79fd6806b8415..8210b368786094cc79fe839df5b3dd68d43b8db3 100644
--- a/rtl_mus.py
+++ b/rtl_mus.py
@@ -37,10 +37,15 @@ import pdb
 import asyncore
 import multiprocessing
 import dl
+import signal
 
 import code
 import traceback
 
+def handle_signal(signal, frame):
+	log.info("Ctrl+C: aborting.")
+	os._exit(1) #not too graceful exit
+
 def ip_match(this,ip_ranges,for_allow):
 	if not len(ip_ranges):
 		return 1 #empty list matches all ip addresses
@@ -445,6 +450,9 @@ def main():
 	global rtl_tcp_core
 	global sample_rate
 
+	#Set signal handler
+	signal.signal(signal.SIGINT, handle_signal) #http://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python
+
 	# set up logging
 	log = logging.getLogger("rtl_mus")
 	log.setLevel(logging.DEBUG)