Court declines to reinstate Coca-Cola workers’ spouses to medical scheme, matter to go to full hearing
Listen to article
4 min listen
Audio reading is not supported on this browser.
Ready
Thanks for listening. Continue with a related story, or tap the speaker icon on the next page to listen.
High Court asked to probe alleged Sh3 billion Bungoma payroll fraud
Carolyne Kubwa
·
6 days agoRead nextOpens a fresh page.
The union argued that Coca-Cola unlawfully introduced a requirement that employees produce marriage certificates before their spouses could qualify for medical insurance, contrary to the parties’ Collective Bargaining Agreement (CBA) and long-standing practice.
The Employment and Labour Relations Court has declined to compel Coca-Cola Beverages Limited to immediately reinstate the spouses of employees removed from the company’s medical scheme for failing to provide marriage certificates, ruling that the dispute can only be resolved after a full hearing.
In a ruling delivered in Nairobi, Justice C.N. Baari dismissed an application by the Kenya Union of Commercial, Food and Allied Workers, which had sought interim orders directing the company to restore medical cover for all affected spouses pending the determination of the main suit.
The union argued that Coca-Cola unlawfully introduced a requirement that employees produce marriage certificates before their spouses could qualify for medical insurance, contrary to the parties’ Collective Bargaining Agreement (CBA) and long-standing practice.
More To Read
- High Court asked to probe alleged Sh3 billion Bungoma payroll fraud
- Police officers urged to update medical records ahead of SHA transition starting April 1
- Isiolo County begins staff audit after fire destroys records
According to the union, permanent unionisable employees and their nominated spouses had traditionally enjoyed medical cover under the company’s scheme. However, in April 2025, spouses who had not produced marriage certificates were removed from the scheme despite the union’s proposal that alternative proof of marriage, including next-of-kin records and Social Health Authority (SHA) biodata, be accepted.
The union maintained that the decision violated the CBA because it was implemented without consultation and deprived employees of negotiated benefits while exposing affected families to financial and emotional hardship.
It also argued that the Marriage Act does not make registration of marriage mandatory and that failure to register should not deny spouses access to healthcare benefits guaranteed under the employment arrangement.
Latest Stories
- UDA concedes defeat, congratulates DCP’s Kamau Ngotho in Ol Kalou by-election
- ICC orders Libyan prison official to stand trial on war crimes charges
- Rwanda ranks among Africa’s top performers in debt transparency
- New guidance offers hope for reducing the global toll of dementia
Coca-Cola opposed the application, arguing that medical cover for spouses is not a contractual entitlement under the CBA but a discretionary benefit provided through company policy and its insurer.
The company told the court that the insurer introduced the marriage certificate requirement to comply with the Marriage Act and that employees were given more than a year to comply.
It said notices were issued, awareness meetings conducted, deadlines extended, and assistance provided to employees seeking marriage certificates.
According to the employer, more than 100 employees complied with the requirement and retained medical cover for their spouses.
In declining the application, Justice Baari held that the orders sought amounted to a mandatory injunction, which can only be granted in exceptional and clear cases.
“Whether the medical cover extended to spouses forms part of the negotiated terms of the CBA or is merely a discretionary benefit under Company policy is itself a substantive issue requiring interpretation of the CBA,” the judge ruled.
The court further found that key questions, including whether the employer was required to consult the union before introducing the policy and whether Section 59 of the Marriage Act makes a marriage certificate the exclusive proof of marriage, remain contested and can only be determined through a full trial.
“The Court is unable, at this interlocutory stage, to conclude that the Applicant has established the exceptionally clear case required for the grant of a mandatory injunction,” Justice Baari said.
The judge also observed that Coca-Cola did not abruptly withdraw the benefit, noting that employees were notified of the new requirement in January 2024, given extended timelines to comply, and offered assistance in obtaining marriage certificates before implementation began.
Consequently, the court dismissed the union’s application, allowing the substantive dispute over the legality of the marriage certificate requirement and spousal medical cover to proceed to a full hearing.
Other Topics To Read
Top Stories Today
- UDA concedes defeat, congratulates DCP’s Kamau Ngotho in Ol Kalou by-election
- Ol Kalou poll violence exposes growing threats facing journalists in Kenya
- Court of Appeal Sets one-year deadline to conclude appeals
- Sifuna wants CRB records scrapped from job recruitment
- Murkomen orders probe into Ol Kalou by-election violence
- Djibouti Defence Minister Hassan Omar Mohamed dies in France
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
UDA concedes defeat, congratulates DCP’s Kamau Ngotho in Ol Kalou by-electionNews
|Lucy Mumbi
|25 minutes ago
Over 50 per cent of registered voters cast ballots in Ol Kalou by-election amid chaos – IEBCPolitics
|Lucy Mumbi
|11 hours ago
Kenya begins work on first State of Openness Report to boost transparency, accountabilityNational
|Abdirahman Khalif
|16 hours ago
Court declines to reinstate Coca-Cola workers’ spouses to medical scheme, matter to go to full hearingNews
|Carolyne Kubwa
|20 hours ago
Renewed US-Iran conflict pushes oil prices to one-month high of Sh10,995 a barrelBusiness
|Alfred Onyango
|19 hours ago
Edwin Sifuna’s ouster sparks fresh row as Azimio rejects Senate leadership changesPolitics
|Lucy Mumbi
|10 hours ago
How to make doughnuts at home for friends and familyFood
|Margaret Wanjiru
|15 hours ago
Defenders Coalition demands release of activist Ademba, says arrest meant to intimidate election observersNews
|Lucy Mumbi
|16 hours ago
Hitesh Mediratta appointed new KAM Board chair for two-year termBusiness
|Alfred Onyango
|7 hours ago
Court clears Innocent Muganda to assume <a href="https://absafricatv.com/diaspora-nigerians-still-have-political-rights-says-apc-chieftain/” title=”Diaspora Nigerians still have political rights, says APC chieftain”>Political Parties Disputes Tribunal chairmanshipNews
|Carolyne Kubwa
|10 hours ago
