Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again.
diff --git a/util.c b/util.c
index b5888ea..d31167e 100644
--- a/util.c
+++ b/util.c
@@ -1170,6 +1170,9 @@ bool initiate_stratum(struct pool *pool)
json_error_t err;
bool ret = false;
+ if (pool->stratum_active)
+ return true;
+
s = alloca(RECVSIZE);
sprintf(s, "{\"id\": %d, \"method\": \"mining.subscribe\", \"params\": []}", swork_id++);