diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 8d2a321d92a6cecb41b96cd3aacc0ebd42fc6b7f..f45a4f3275d480f9068325c7641cd5bdd1a7f8a8 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -277,6 +277,9 @@ static int hanguponpolarityswitch = 0;
 /* How long (ms) to ignore Polarity Switch events after we answer a call */
 static int polarityonanswerdelay = 600;
 
+/* When to send the CallerID signals (rings) */
+static int sendcalleridafter = DEFAULT_CIDRINGS;
+
 /* Protect the monitoring thread, so only one process can kill or start it, and not
    when it's doing something critical. */
 AST_MUTEX_DEFINE_STATIC(monlock);
@@ -566,6 +569,7 @@ static struct zt_pvt {
 	int hanguponpolarityswitch;
 	int polarityonanswerdelay;
 	struct timeval polaritydelaytv;
+	int sendcalleridafter;
 #ifdef ZAPATA_PRI
 	struct zt_pri *pri;
 	struct zt_pvt *bearer;
@@ -1567,7 +1571,7 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout)
 			} else {
 				if (ioctl(p->subs[SUB_REAL].zfd, ZT_SETCADENCE, NULL))
 					ast_log(LOG_WARNING, "Unable to reset default ring on '%s'\n", ast->name);
-				p->cidrings = DEFAULT_CIDRINGS;
+				p->cidrings = p->sendcalleridafter;
 			}
 
 
@@ -6652,6 +6656,7 @@ static struct zt_pvt *mkintf(int channel, int signalling, int radio, struct zt_p
 
 		tmp->polarityonanswerdelay = polarityonanswerdelay;
 		tmp->hanguponpolarityswitch = hanguponpolarityswitch;
+		tmp->sendcalleridafter = sendcalleridafter;
 
 	}
 	if (tmp && !here) {
@@ -9809,6 +9814,8 @@ static int setup_zap(int reload)
 				polarityonanswerdelay = atoi(v->value);
 			} else if (!strcasecmp(v->name, "hanguponpolarityswitch")) {
 				hanguponpolarityswitch = ast_true(v->value);
+			} else if (!strcasecmp(v->name, "sendcalleridafter")) {
+				sendcalleridafter = atoi(v->value);
 			} 
 		} else 
 			ast_log(LOG_WARNING, "Ignoring %s\n", v->name);
diff --git a/configs/zapata.conf.sample b/configs/zapata.conf.sample
index e65ff7c0a445ef2a4f5dfc0f6c1978c4d33bcddf..60095e61e175e0dabc61cb6ebf9b72f9f7a528db 100755
--- a/configs/zapata.conf.sample
+++ b/configs/zapata.conf.sample
@@ -186,6 +186,13 @@ callwaiting=yes
 ;
 usecallingpres=yes
 ;
+; Some countries (UK) have ring tones with different ring tones (ring-ring),
+; which means the callerid needs to be set later on, and not just after
+; the first ring, as per the default. 
+;
+;sendcalleridafter=1
+;
+;
 ; Support Caller*ID on Call Waiting
 ;
 callwaitingcallerid=yes