diff --git a/dummy/flrig.c b/dummy/flrig.c
index 9f314fa62..25fd22cc9 100644
--- a/dummy/flrig.c
+++ b/dummy/flrig.c
@@ -1156,6 +1156,19 @@ static int flrig_set_vfo(RIG *rig, vfo_t vfo)
rs->tx_vfo = RIG_VFO_B; // always VFOB
read_transaction(rig, xml, sizeof(xml));
+ /* for some rigs FLRig turns off split when VFOA is selected */
+ /* so if we are in split and asked for A we have to turn split back on */
+ if (priv->split && vfo==RIG_VFO_A) {
+ char xml[MAXXMLLEN];
+ char value[MAXCMDLEN];
+ sprintf(value, "%d", priv->split);
+ char *pxml = xml_build("rig.set_split", value, xml, sizeof(xml));
+ retval = write_transaction(rig, pxml, strlen(pxml));
+ if (retval < 0) {
+ return retval;
+ }
+ read_transaction(rig, xml, sizeof(xml)); // get response but don't care
+ }
return RIG_OK;
}
diff --git a/dummy/flrig.h b/dummy/flrig.h
index 15bfedc83..0c5153199 100644
--- a/dummy/flrig.h
+++ b/dummy/flrig.h
@@ -28,7 +28,7 @@
#include
#endif
-#define BACKEND_VER "1.3"
+#define BACKEND_VER "1.4"
#define EOM "\r"
#define TRUE 1