--- a/mpd2src/scmakempdsender
+++ b/mpd2src/scmakempdsender
@@ -48,26 +48,29 @@
 upmpdclitoo = False
 mpdport = 6700
 externalvolume = False
-# Upmpdcli friendly-name. Used to compute a Uuid in conjunction with
-# the node name
+# Upmpdcli friendly-name. Used to compute a Uuid in
+# conjunction with the node name
 upmpdcli_fname = "UpMpd"
+codec_name = ""
 
 def logerr(s):
     print("%s" % s, file=sys.stderr)
     
 args = sys.argv[1:]
-opts, args = getopt.getopt(args, "hup:f:e")
+opts, args = getopt.getopt(args, "hup:f:e:C:")
 for opt, arg in opts:
     if opt in ['-h']:
         usage(sys.stdout)
+    elif opt in ['-C']:
+        codec_name = arg
+    elif opt in ['-e']:
+        externalvolume = True
     elif opt in ['-f']:
         upmpdcli_fname = arg
     elif opt in ['-p']:
         mpdport = int(arg)
     elif opt in ['-u']:
         upmpdclitoo = True
-    elif opt in ['-e']:
-        externalvolume = True
     else:
         logerr("unknown option %s\n" % opt)
         usage(sys.stderr)
@@ -76,10 +79,13 @@
 mpdfifo = tempfile.mktemp(suffix=".fifo")
 mpdconf = tempfile.NamedTemporaryFile(delete=False)
 
-# UDN and name for the Sender UPnP device. We use a hash of the
-# friendly name and host name
-sender_udn = uuid.uuid5(uuid.NAMESPACE_DNS,
-                        socket.gethostname() + upmpdcli_fname).urn
+# UDN and name for the Sender UPnP device.
+# We used to call:
+#  uuid.uuid5(uuid.NAMESPACE_DNS, socket.gethostname() + upmpdcli_fname).urn
+# which yielded something like urn:uuid:bd5d9ae1-5775-5cda-8d14-2f87d64c4798,
+# but this seems to cause issues for recent versions of ohNet (??). So now use
+# the shorter output of uuid1().hex (32 chars)
+sender_udn = uuid.uuid1().hex
 sender_name = "%s UxSender" % upmpdcli_fname
 
 mpdproc = None
@@ -165,11 +171,13 @@
 
 # Start the Sender
 try:
-    senderproc = subprocess.Popen([uxsender, "-f", mpdfifo,
-                                   "-A", "44100:16:2:1",
-                                   "-u", sender_udn, "-n", sender_name],
-                                  stdout=subprocess.PIPE,
-                                  bufsize = -1)
+    cmdvec = [uxsender, "-f", mpdfifo,
+              "-A", "44100:16:2:1",
+              "-u", sender_udn, "-n", sender_name]
+    if codec_name:
+        cmdvec += ["-C", codec_name]
+    logerr("STARTING %s" % cmdvec)
+    senderproc = subprocess.Popen(cmdvec, stdout=subprocess.PIPE, bufsize = -1)
 except Exception as err:
     logerr("Can't start %s: %s" % (uxsender, err))
     cleanup(1)