Why Is My Reference Gene Ct Value Above 30 — And When to Worry
A reference gene Ct above 30 almost always means you don't have enough intact template in the reaction. Before you redesign primers or switch housekeeping genes, look at your RNA quality, your cDNA synthesis, and how much template you're loading. The primers for GAPDH, ACTB, or B2M that gave you Ct 18 last week didn't suddenly stop working — something upstream changed.
That said, "above 30" isn't a single situation. A GAPDH Ct of 31 from a laser-capture microdissection sample with 2 ng total RNA input is completely expected. A GAPDH Ct of 33 from a routine cell pellet where you normally see 15-17 is a red flag. Context matters, so let's walk through the common causes in order of how often I've actually seen them.
Low RNA Input or Poor cDNA Synthesis
This is the cause about 70% of the time. The math is straightforward: every ~3.3 Ct increase represents roughly a 10-fold drop in template (assuming 100% efficiency). If your ACTB Ct jumped from 18 to 31, that's a ~13 Ct shift — about a 10,000-fold reduction in starting template. That's not biological regulation of a housekeeping gene. That's a near-empty tube.
Check these in order:
RNA concentration and integrity. Re-measure on a NanoDrop or Qubit. NanoDrop will tell you if the 260/280 is off (below 1.8 suggests protein or phenol contamination), but it won't tell you if the RNA is degraded. If you have access to a Bioanalyzer or TapeStation, run it — an RIN below 5 will absolutely push your reference gene Ct values up, especially for longer amplicons. Even a RIN of 6-7 can cost you 2-3 Ct compared to intact RNA.
cDNA synthesis failure. This is more common than people admit. Reverse transcriptase is sensitive to salt carryover, ethanol carryover from column-based RNA kits, and excessive RNA secondary structure. If you used oligo(dT) primers, make sure you denatured the RNA at 65°C before adding the RT enzyme. If you suspect the RT step failed, run a quick check: take your cDNA, dilute it 1:10, and amplify 18S rRNA — if even 18S is above 25, your cDNA synthesis likely didn't work. 18S is so abundant that it should be detectable at very low Ct values (often 8-12) in any successful cDNA reaction from reasonable RNA input.
Template dilution error. Boring but real. If your protocol calls for 1:5 dilution of cDNA and someone did 1:50, that's a ~3.3 Ct shift right there. Double-check your dilution scheme, especially if only some samples are affected.
Inhibition in the qPCR Reaction
PCR inhibitors are the sneaky second cause. They push Ct values up without necessarily eliminating amplification entirely, which makes them easy to miss if you're only looking at the final result.
Common inhibitors that survive into qPCR:
- Ethanol from column wash steps (didn't dry the column long enough — we've all done it)
- Guanidinium salts from TRIzol or lysis buffer carryover
- Heparin if working with blood samples
- Melanin from skin or pigmented tissues
- Humic acids from soil/environmental samples
The classic diagnostic: run a serial dilution of the suspect cDNA. If your standard curve shows efficiency well below 90% (or the curve is nonlinear), inhibition is likely. In a clean reaction with PowerUp SYBR or Luna Universal qPCR Master Mix, you should see efficiency between 90-110%. If you're getting 60-70% with your cDNA but 98% with a plasmid standard, the problem is in your sample, not your primers.
Another quick test: spike a known-good template (like a plasmid or a positive-control cDNA) into your suspect sample. If the spiked-in target also shows a Ct shift upward compared to spiking into water, you have inhibition.
The fix is usually re-purifying the RNA (an extra ethanol wash, or running it through a cleanup column) or simply diluting the cDNA further. Dilution is the poor man's purification — a 1:10 dilution often drops inhibitor concentration below the threshold that matters, at the cost of ~3.3 Ct from template dilution. If your Ct is already 32, though, dilution will push you into noise territory, so cleanup is the better route.
The Reference Gene Is Genuinely Expressed at Low Levels in Your Sample
This is less common but real, especially if you've moved to a new tissue type, organism, or cell population. GAPDH is not universally abundant. In some primary cell types, quiescent cells, or certain tissues (e.g., adipose), GAPDH Ct values in the high 20s are normal even with good RNA input. ACTB can shift significantly between tissues with different cytoskeletal profiles.
If you're working with a new sample type and your reference gene Ct is 28-31 with confirmed good RNA (RIN >7, reasonable yield, clean 260/280 and 260/230), consider that the gene simply isn't as abundant here. This is one reason why reference gene validation matters — what works in HeLa cells won't necessarily work in primary neurons or plant root tips.
In this case, the fix isn't troubleshooting; it's picking a better reference gene. Tools like geNorm (Vandesompele et al., 2002) and NormFinder (Andersen et al., 2004) exist specifically for this. Run a panel of 5-6 candidates — GAPDH, ACTB, B2M, HPRT1, TBP, RPL13A — across your experimental conditions and let the algorithm tell you which are most stable. You want a reference gene with a Ct in the range of your genes of interest (usually 18-26) so that both target and reference are amplified in the linear range of detection.
When High Ct Actually Indicates a Real Problem With Your Primers
Less often the cause, but worth ruling out:
- Primer degradation. If your primer stocks have been through many freeze-thaw cycles or were left on the bench for hours, they lose activity. Make single-use aliquots at working concentration (10 µM). If you suspect degradation, order fresh primers — they're cheap.
- Wrong primer concentration. Most SYBR Green assays work well at 200-400 nM final primer concentration. If you accidentally loaded 20 nM, you'll see delayed Ct and possibly plateau issues. Check your pipetting math.
- Primer-template mismatch. This matters if you designed primers against human sequences but you're running mouse cDNA (or vice versa), or if there are SNPs in your target strain at the primer binding site. BLAST your primers against the actual genome you're working with.
- Amplicon spanning a problematic region. If your reference gene amplicon is long (>200 bp) and your RNA is partially degraded, shorter amplicons will amplify better. Design reference gene primers with amplicon lengths of 70-150 bp for maximum resilience to degradation.
A Practical Diagnostic Flowchart
When I see a reference gene Ct above 30 in my own data, I run through this in about 10 minutes:
Check the NTC. If your no-template control also shows Ct 30-35, you might be looking at primer dimers or contamination, not real amplification. Check the melt curve — a single sharp peak at the expected Tm, or a broad shoulder / secondary peak?
Check the melt curve of the high-Ct samples. If the melt peak is at the correct Tm and clean, the amplification is real — you just don't have much template.
Compare to other samples in the same run. If all samples shifted up by ~5 Ct compared to a previous run, suspect a master mix issue, a thermocycler calibration problem, or a systematic cDNA synthesis failure. If only one or two samples are high, it's sample-specific (RNA quality, loading error, inhibition).
Re-run one affected sample alongside a known-good cDNA. If the known-good sample also runs high, the problem is the assay or the instrument. If only the affected sample runs high, it's the sample.
Check your instrument's ROX or passive reference channel (if applicable). On QuantStudio instruments, incorrect ROX settings can cause the software to miscalculate Ct. On the CFX96, this isn't an issue since it doesn't use ROX normalization, but other calibration problems can occur.
What Ct Is "Too High" for a Reference Gene?
There's no universal cutoff, but here's a working guideline: your reference gene Ct should ideally be within 5-7 Ct of your gene of interest. If your GOI typically comes up at Ct 25-28 and your reference gene is at Ct 32, the ΔCt calculation is technically still valid — but you're now relying on the reference gene measurement in a Ct range where precision drops. Replicate variability tends to increase above Ct 30 (standard deviation of 0.5-1.0 Ct is common, compared to <0.3 Ct in the 15-25 range). That imprecision propagates directly into your ΔΔCt calculation and inflates your fold-change error bars.
If your reference gene Ct is consistently above 33-34, I'd be uncomfortable using it regardless of context. At that point, you're within a few cycles of most NTC background signals, and the biological meaning of your normalization becomes questionable.
Fixing It
Most of the time, the fix is upstream: better RNA, better cDNA synthesis, more template in the reaction. If you've confirmed RNA quality is fine and you're loading adequate template (50-100 ng cDNA equivalent per reaction is a reasonable starting point for most applications), then switch your reference gene.
If you're dealing with precious, low-input samples where high Ct values are unavoidable — single-cell experiments, FFPE tissue, sorted rare populations — consider using multiple reference genes and geometric averaging of their expression (the geNorm approach). This gives you more robust normalization when any single gene's measurement is noisy.
For routine experiments, if you're spending time manually checking reference gene Ct values across dozens of samples and conditions, VoilaPCR flags samples with reference gene Ct values outside your expected range automatically when you upload your data, so you catch these issues before they quietly wreck your fold-change calculations.