It was Sunday morning, and I had a hankering for a hard Zwift race after being forced to skip my typical long Saturday session. The Companion app showed a list of the usual Sunday morning races:
- KISS 100, which I desperately want to attempt but runs too late for my Sunday church schedule
- Restart Racing Sunday Classic: a possibility, but there weren’t many signed up
- Crit City Race: the old standby
- Herd Winter Race Series: scheduled a bit late for my taste
Crit City it was, then. Eight laps of The Bell Lap route. Let’s do this!
The Warmup – Is My Heart Broken?
While warming up I noticed my Wahoo TICKR wasn’t showing any HR in Zwift. I figured it would work itself out eventually as I started to sweat, so I continued my warmup. But as I clicked to enter the start pens, I realized my HR was still not working.
Wondering if this mattered or not, I checked the event description on ZwiftPower. No mention of HR requirements. If this was ZRL I would have figured out a solution! But this was just a quick Crit City race, and it looked like HR wasn’t even a factor. All good to race.
Racing with the Big Boys
While I was in ZwiftPower I checked the rankings of signed-up riders. We had some real hitters signed up, including Robin Andersson (SZ), the 7th-ranked B in the world. He had two SZ teammates in the race, both super strong guys ranked in the 130s, plus we had Christophe De Grom (BZR) on the list. All riders ranked better than me, so I knew this wouldn’t be an easy podium. But there were ranking points to be had!
The Start + Middle

Most of the race wasn’t remarkable. Just a few highlights to call out:
- I saw several cones of shame – the green cones handed to riders who are performing outside of the 1 or 5-minute power windows designated for each category. It’s been a while since I’ve seen any cones in a B race.
- I tried one small attack a little over halfway through, messaging the group “Attack with me?” beforehand. It worked, shedding a few riders, but my legs weren’t feeling great so I eased up after a minute.
- With two laps to go, we still had a front pack of ~30 after starting with 72.
- Team SZ had four strong riders in the race, so I kept watching for a team attack, especially as we got into the final laps. But they just sat in, biding their time.
The Finish
The Zwift gods had granted me an aero powerup halfway through the race. I’d held onto it for the finish, knowing I’d need all the help I could get against the strong riders in this field.
Last lap. Nobody went early on the twisty climb or the brick descent. I kept my eyes glued to the screen, planning to jump on the wheel of any rider who went early – especially if they were from team SZ!
Soon enough, an SZ rider went orange and sprinted off the front. Hard. I was too slow to catch their wheel, but I hammered anyway, hoping I could make the catch. Then as we neared the hard left turn I activated my aero powerup and went all-in.

As we neared the finish, a green cone popped up next to Andersson’s name. He crossed the line in first. I crossed third.

See activity on Strava >
See ride on Zwift.com >
See results on ZwiftPower >
Disqualified: with Questions
Stoked with a podium against such strong riders, I popped over to ZwiftPower to look at the race results. How many points had I earned?
And that’s when I saw it. Or, more accurately, didn’t see it. Where was my name?
I had to click “Unfiltered” to see it, with a big “HR” next to it. I’d been disqualified for not having a heart rate monitor connected. Adding insult to injury, once the points were calculated I saw I would have earned a result of 149.79 – the best I’ve had in the past 90 days!

And this is where some questions need to be asked. Two, specifically:
- Why was I disqualified for no HR, when nothing in the event said HR was required?
- Why did the first place rider get coned, but get to keep the win?
To be clear: the points result or podium position aren’t a big deal to me. This really isn’t about this one particular race at all. But what this race did was surface two issues I believe Zwift needs to fix.
First: if HR is required, that needs to be stated in the event description and on ZwiftPower. ZwiftPower has several options that event owners can set when it comes to requiring HR:

Apparently only the first two settings (those in green) show up on the event detail page, while the rest do not. This Crit City race is managed by ZwiftHQ, and event organizers tell me ZwiftHQ doesn’t manage the ZwiftPower settings for most of their events. So these Crit City races are just set to some default HR requirement option which isn’t visible in ZwiftPower’s event summary.
Second, if a rider gets coned, they shouldn’t show up in the race results in Zwift or ZwiftPower. (Now, we can debate whether the coning itself is accurate. It’s been in use for almost 2 years now, which means Zwift should have the data to show whether it is or isn’t. If it isn’t, it shouldn’t be used at all. But if it is, then it needs to have an effect on the results sheet.)
I want to reinforce that I’m certainly not questioning whether Andersson deserved the win. He’s a strong B with killer 1-minute power, and a legit B rider according to ZwiftPower’s parameters. He won the race fair and square, following all the stated rules.
Again, it’s not about this race. But I think it’s worth pointing out the weirdness of being disqualified by an unstated rule, while another rider can trip an anti-sandbagging control in the game and win the race with a cone over their head. Zwift can do better.
Asking Zwift
I’ve got a great relationship with the folks at ZwiftHQ, so I reached out to them about this race and the issues I’ve outlined above.
And as I was composing my email to them, I realized it’s quite possible ZwiftHQ has decided, for these small weekly races, the in-game results are the “final” results, and ZwiftHQ doesn’t manage ZwiftPower settings at all. After all, the event description does say, “Results are shown as you cross the finish line.”
The more I’ve thought about it, the more I think this is the case.
But this hasn’t been confirmed by ZwiftHQ. While they acknowledged receipt of my email, I haven’t heard back from them yet with an answer to my questions.
Your Thoughts
Share below!
Oddly you do get ranking points even if filtered (Just look within your profile info and you’ll see a number there you don’t see on your results list)
Ha! Now THAT is interesting. You’re right – of my top 5 scores, which my ranking is based on, it included this race’s result.
That doesn’t seem to be the right way for this to work.
I wonder… does that work for ALL DQs? Like, could an A race in the B’s, earn points, be disqualified, and have his ranking improve?
Let’s hope A’s can’t race in B in the near future, but should it happen and they win, I don’t think it’s unfair that their ranking improves (if it does).
The ranking is an index including all categories so a rider that wins a race should have a higher ranking or get more points than those they’re racing against.
I also think that those near the lower end of their category will have a much lower ranking than those at the top of the category below.
But if you’re DQ from a race, should you be able to improve your ranking using that result? That doesn’t seem right.
Out of curiosity, how did you determine that? I got “HR”d from my HJC Grand Prix race tonight b/c my HRM died (even though, as you talk about above, I don’t see any requirement in the description). I clicked on my Race Ranking info and it shows my best 5 scores, but none of them seem to correlate with this race. And since there’s no result or gain listed for this race, I don’t even know what to look for, tbh.
There is no way Zwift are actively managing the event setting in ZP for these races. I don’t even know why they are still in the calendar, as this functionality has no future, as admitted by the guy that designed it and subsequently left the Business. Bring on wider rollout of cat enforcement so these sorts of issues can mostly be put to bed.
Hi Eric,
Nice race write-up. On an unrelated note, I am trying to sign up for the Tour of Watopia, but it says that “my profile is not eligible for registration, please update your info in your profile to continue”. When I go to my profile, there is nothing i need to change. Do you have any tips or info on this issue?
Great question Evan. On an unrelated note, do you where I can get reasonably priced pears at this time of year?
Fyi the first 4 SZ guys race or raced ZRL in A cat, doing either very good or at least decent.
Interesting about your Tickr. I had the same issue last week before a ZRL race. I changed the battery still had issues, disconnected and reconnected, soaked the strap to make sure it was wet and got a reading, although I question how accurate. After about 15 mins of warm up it seemed to be ok. This was just after a Zwift update. I wonder if anyone else had issues?
Yes I have similar issues with my Tickr. It doesn’t happen very regularly and changing the battery doesn’t seem to have any effect, I also have an older Bryton HRM which has similar issues. My assumption is it’s the strap rather than the unit that is the problem. i admit that I tend to buy the cheaper ones off Ebay, but they seem to work fine for a year or so, but then seem to gradually become less reliable.
I use trainer road and my tickr works every time. When I use zwift it only connects about twenty percent of the time. It’s done this for months
My tickr is intermittent since the last update, but only on Apple TV. Works fine connected to iPad. Switched to garmin strap and it’s been stable. Changing battery didn’t help. Go figure.
My old Myzone chest strap worked fine with my laptop over Ant+ until I tumble-dried it… I tried broadcasting HR from my Garmin watch over Ant+ and that was really unreliable, sometimes it worked fine, other times it just stopped working but it was fine wth other apps.
I then got a new Tickr and Apple TV and that’s been rock-solid
I’ve seen this issue with my Tickr and Apple TV since the last update too. Wonder if there is a bug somewhere here?
those average heart rates look like a nice evening stroll rather than a full gas 20min race!
Nice right up. I didn’t know about the green cones of shame. I will look out for these.
In terms of race results not appearing on zwiftpower as I understand it there is a requirement that users have HR and power data for results to appear on ZP results. Hence you were dq’d. At least you know now so it won’t happen next time even if it is very annoying in this case given the result!
I’ve also has issue with my tickr recently. It kept sticking on a HR and then would seem to work again, before fixing at a HR. I ended up buying a new one as I thought the inaccuracies in my HR data might get me dq’d in zwiftpower. The new one appears ok over the last couple of weeks at least which suggest hardware issue with the tickr
But it’s actually not always a requirement to have HR in order to show up in ZwiftPower. (See image in post about the HR DQ options ride organizers have).
Admittedly, I figured I was playing with fire by racing without a functioning HRM. The point of my post is that the HR requirements should be stated somewhere.
I just recently replaced my TickrX with another one, and have issues almost everytime I go to use it.
And it’s not just with Zwift, put with my Garmin too. The thing will flash, and then just stop, and is a pain to get going again.
I should try using it with the Garmin strap (the old TickrX worked with that strap)
I’m just pack fodder and I know a HR monitor is needed for almost any race. In the pen, you should have taken the time to re-connect before the race.
Hmm. I thought that HRM was required for all riders to rank in cat B and A on Zwiftpower in all races. I’ll look more closely at the ride descriptions now.
I have chatted a number of people about HRM issues related to Zwift. The most common solution was to switch to the Polar H10. Right now I use an old school Garmin hard strap that only does ant+ and it works all the time. I’ll probably go with the H10 when my Garmin decides it’s had it.
Polar H10
‘Cone of shame’ is a severe handicap, not a DQ. If you get the brakes applied very late in the race it’s possible to still notch up a good result, but it has to be very late, as it makes a huge difference in the final sprint. I’ve seen riders in front in the final 250m lose 20+ bike lengths in those last few seconds when the cone hits.
Yeah… sort of. I mean, the idea behind the cone of shame, when it was released many moons ago, was that it was supposed to take a rider out of the race without just ending their event entirely.
It’s just a severe handicap, yes. But in reality it should also DQ them from final results, right? Otherwise… why have it at all? If you’re confident enough that they’re cheating to give them the cone and severely handicap their race, you should be confident enough to remove them from the results or at least show a cone next to their name in the results.
My opinion, I guess. Not everyone will agree.
And again – I’m not saying the rider who got coned here was cheating. It’s possible the parameters aren’t set up properly.
Does it matter where the race organizer decides the final results appear (in game or zwiftpower)? You can decide which one you care about it.
Hi Eric. I was wondering whether you plan to address the recently made public Zwift exploit that allows users to change weight within an event and remain undetected. Apparently, Zwift was aware of this for at least two years and did nothing. More recently someone lost patience and published a blog about it, i.e. blew the whistle, and got banned for speaking up.
Is there some where that explains in detail how the categories, rankings, DQs for Zwift work? Frankly, if you start looking closely there is all kinds of weirdness around.the categories, rankings, DQ’s. Consider this race. ZwiftPower – The Coalition – Chase To The Underground In the B cat in 18th you will find a rider who finished with a 3.1wkg avg. How is it even possible he stayed with the group? Pull up his profile. He’s a C rider and yet he is consistently riding and placing in B races with numbers that are C level! He once placed in a B race with a 2.5 wkg! What is happening here?
The racer you mention is the heaviest person in the B cat. His avg watts is higher than everyone on the podium. And since that race took place on volcano flat reverse, key word being “flat”, absolute watts matter, watts per kg aren’t really that important.
Eric, I agree with you 100 %. You checked and no HR mentioned so should not be required for that race. I also agree that if they have a cone then the results should not count. But that’s just my humble opinion 🙂 The winner could argue if he believes he was unfairly penalized.
I was DQed twice on zwiftpower, when i had good legs on these days. No idea why. HR is always on. How can i get to know the reason ?
Usually you can figure out why if you look at the rules. You can ask the race organizer. Or post links here to the activity and see if we can figure it out.