
669 F.3d 325 (2012)
Paul KEOHANE, Appellant
v.
UNITED STATES of America, Appellee.
No. 11-5127.
United States Court of Appeals, District of Columbia Circuit.
Argued November 16, 2011.
Decided February 21, 2012.
*326 David W. Foster argued the cause for appellant. With him on the briefs were Armando Gomez and Alan J.J. Swirski.
Janet A. Bradley, Attorney, U.S. Department of Justice, argued the cause for appellee. With her on the brief were Tamara W. Ashford, Deputy Assistant Attorney General, Ronald C. Machen, U.S. Attorney, and Michael J. Haungs, Attorney.
Before: BROWN, GRIFFITH, and KAVANAUGH, Circuit Judges.
Opinion for the Court filed by Circuit Judge KAVANAUGH.
KAVANAUGH, Circuit Judge:
For the 1994 tax year, Paul Keohane owed about $10,000 in federal income taxes for income he earned while working in Indonesia. He did not pay those taxes. To recover the unpaid taxes, the IRS eventually issued what is known as a single paper levy on Keohane's Social Security benefits. That paper levy automatically took nearly 40% of Keohane's monthly Social Security checks for about two years. Keohane now claims that the amount levied each month exceeded a statutory cap on monthly levies.
Of course, now that the full amount owed by Keohane to the IRS has been paidand would have been paid in full by now even under Keohane's view of the maximum monthly levy amountKeohane is suffering no further harm from the IRS's alleged error. But Keohane has sued to recover the expenses he incurred along the way from the allegedly unlawful levy schedule. Those expenses total $373.
*327 To recover the $373 in expenses, Keohane sued under 26 U.S.C. § 7433. That statute allows taxpayers to sue the United States to recover damages caused by illegal IRS actions. The threshold question before us is whether Keohane's suit was timely. The District Court concluded that it was not timely because Keohane did not bring suit within two years of when he had a "reasonable opportunity to discover all essential elements of a possible cause of action." 26 C.F.R. § 301.7433-1(g)(2). We agree and affirm.

I
Paul Keohane, a U.S. citizen, worked in Indonesia in 1994. He did not file a timely federal income tax return for that tax year. The IRS assessed a net deficiency of approximately $10,000 for that year. In 2000, the IRS sent Keohane two notices of intent to levy. In 2002, it sent two more notices. Because he was moving from place to place, Keohane received none of those notices.
In May 2005, the Social Security Administration sent Keohane a notice of an IRS levy on his Social Security benefits. Keohane received the notice in May or June. The levying began in June 2005, with the IRS taking $451.90 out of Keohane's $1135 monthly Social Security payment (which, by 2007, rose to $1220). The amount taken out each month constituted between 35% and 40% of each Social Security check. To execute its levy on Keohane's Social Security benefits, the IRS issued what is known as a single paper levy to the Social Security Administration. After issuance of the single paper levy, the monthly removal of $451.90 from Keohane's Social Security check occurred automatically without any additional action by the IRS. In other words, the IRS did not have to execute any additional paper levies. That monthly removal continued for about two years.
In 2007, Keohane filed a late tax return for 1994 and squared up his debt with the IRS. The IRS then released the levy on Keohane's Social Security benefits.
Although Keohane could have ended his dealings with the IRS at that point, he became upset when he learned that the IRS, as it recouped the debt, had allegedly violated a statute setting limits on how much the IRS could take from his Social Security check each month. Although that issue was of no continuing concern to Keohane with respect to his tax liability (which had been paid in full by then), Keohane brought a claim to recover expenses he had incurred as a result of the allegedly unlawful schedule by which he paid the taxes due. After an unsuccessful administrative claim, Keohane sued the United States in December 2008 under 26 U.S.C. § 7433. That statute permits recovery of "actual, direct economic damages sustained by the plaintiff" plus "the costs of the action" if, in connection with IRS tax collection, "any officer or employee of the Internal Revenue Service recklessly or intentionally, or by reason of negligence, disregards any provision of this title, or any regulation promulgated under this title." 26 U.S.C. § 7433(a)-(b).
Keohane argued that 26 U.S.C. § 6331(h)(1) forbids the IRS from employing a single paper levy to continuously take more than 15% of each monthly Social Security benefit payment. In Keohane's case, a 15% monthly cap would have meant a maximum of between $170 and $180 per month. The IRS took $451.90 per month, between 35% and 40% of Keohane's monthly Social Security benefits. Under Keohane's theory, the IRS should have recovered the back taxes by taking less each month for a longer period of time. Or the IRS, according to Keohane, should *328 have employed the separate legal mechanism by which it could re-issue a new paper levy each month and take more than 15% per month.
The parties stipulate that Keohane incurred $373 in costs as a result of the IRS's levying more than 15% of Keohane's monthly Social Security benefits.
Without reaching the merits of Keohane's statutory argument, the District Court concluded that Keohane's suit was barred by the two-year statute of limitations in Section 7433(d)(3), and it granted summary judgment to the Government. See Keohane v. United States, 775 F.Supp.2d 87, 91 (D.D.C.2011).

II

A
Section 7433 of Title 26 provides a cause of action if "in connection with any collection of Federal tax with respect to a taxpayer, any officer or employee of the Internal Revenue Service recklessly or intentionally, or by reason of negligence, disregards any provision of this title, or any regulation promulgated under this title." 26 U.S.C. § 7433(a). A taxpayer who sues under Section 7433 may collect the "costs of the action" and the "actual, direct economic damages sustained by the plaintiff as a proximate result of the reckless or intentional or negligent actions of the officer or employee." 26 U.S.C. § 7433(b).
But Section 7433 contains a two-year statute of limitations: "Notwithstanding any other provision of law, an action to enforce liability created under this section may be brought without regard to the amount in controversy and may be brought only within 2 years after the date the right of action accrues." 26 U.S.C. § 7433(d)(3).
The IRS's regulations implementing Section 7433(d)(3) provide that the right of action "accrues when the taxpayer has had a reasonable opportunity to discover all essential elements of a possible cause of action." 26 C.F.R. § 301.7433-1(g)(2). The parties agree that the regulation applies here. The parties disagree only about when Keohane had such a "reasonable opportunity."

B
By June 2005, Keohane received a letter informing him of the IRS levy. That same month, the IRS took its first $451.90 from Keohane's Social Security checka sum Keohane knew to be more than 15% of his benefits. By June 2005, therefore, Keohane knew that an IRS levy had been placed on his Social Security benefits and that the levy was taking more than 15% of those benefits each month. He nonetheless did not file suit challenging the legality of the allegedly excessive monthly amount until more than three years later, in December 2008.
Keohane offers two arguments to get around the two-year statute of limitations.
First, Keohane contends that he had no way to know in 2005 that the IRS was relying on a single paper levy instead of filing a new levy each month. The parties agree that under a separate section of the Tax Code, the IRS could have legally taken more than 15% of Keohane's Social Security benefits each month simply by filing a new paper levy each month. Keohane claims, however, that a single paper levy of the kind at issue here is limited to 15% of monthly Social Security benefits. Keohane argues that he did not know the IRS was relying on a single paper levy at the time it began levying his Social Security benefit payments.
*329 The problem for Keohane is that the statute (as implemented by the regulation) requires only "a reasonable opportunity to discover" every element of the cause of action. 26 C.F.R. § 301.7433-1(g)(2); see also Kovacs v. United States, 614 F.3d 666, 674 (7th Cir.2010). The language in the regulationa "reasonable opportunity" sets a relatively low bar. In other contexts, we have said that the "reasonable opportunity to discover" language in a statute of limitations "bars a suit if the plaintiff had such notice as would lead a reasonable person either to sue or to launch an investigation that would likely uncover the requisite facts." Sparshott v. Feld Entertainment, Inc., 311 F.3d 425, 428-29 (D.C.Cir.2002) (interpreting 18 U.S.C. § 2520(e)).
Here, Keohane knew that a levy existed. As soon as he knew of that levy, he had a "reasonable opportunity" to learn that the IRS was relying on a single paper levy rather than issuing a new paper levy each month. Keohane points to nothing that prevented him from uncovering this fact by inquiring; indeed, his eventual inquiry revealed the alleged flaw. Because Keohane had a reasonable opportunity to discover the IRS's alleged statutory violation after he received notice of the levyby June 2005the statute of limitations on his Section 7433 cause of action began to run at that time.[1] By the time he filed suit in December 2008, the two-year statute of limitations had therefore run.[2]
Second, Keohane points to the continuing violation doctrine and claims that the statute of limitations didn't expire until two years after the IRS's last wrongful collection from his Social Security benefitsthat is, until July 2009. The continuing violation doctrine is intricate and somewhat confusing, but we need not explore it in depth here. We have said that a continuing violation "is one that could not reasonably have been expected to be made the subject of a lawsuit when it first occurred because its character as a violation did not become clear until it was repeated during the limitations period, typically because it is only its cumulative impact (as in the case of a hostile work environment) that reveals its illegality." Taylor v. FDIC, 132 F.3d 753, 765 (D.C.Cir.1997) (citations and internal quotation marks omitted); see also National Railroad Passenger Corp. v. Morgan, 536 U.S. 101, 115, 122 S.Ct. 2061, 153 L.Ed.2d 106 (2002) (a hostile work environment claim "involves repeated conduct" so that the "cumulative effect" creates a claim even when "a single act of harassment may not be actionable on its own"); Dziura v. United States, 168 F.3d 581, 583 (1st Cir. 1999) (continuing violation doctrine "is generally thought to be inapposite when an injury is definite, readily discoverable, and accessible in the sense that nothing impedes the injured party from seeking to redress it"). Under the continuing violation doctrine, the statute of limitations begins to run only after the date of the last injury. See Heard v. Sheahan, 253 F.3d 316, 319 (7th Cir.2001).
But the continuing violation doctrine does not help Keohane here. Under Keohane's theory, the IRS violated Section 6331(h)(1) when it issued a single paper levy with the effect of automatically taking *330 more than 15% of his Social Security benefits each month. Its "character" as an alleged violation would have been clear had Keohane inquired; no "cumulative effect" was necessary to reveal its supposed illegality. As other courts have noted in somewhat analogous cases on tax liens, once Keohane knew of the levy, "nothing prevented him from recognizing the potential injury at that time, nor would later events provide any greater insight into his possible cause of action." Macklin v. United States, 300 F.3d 814, 824 (7th Cir. 2002). The continuing violation doctrine does not apply here.
In sum, the two-year statute of limitations on Keohane's cause of action began to run no later than June 2005, after he received notice of the levy on his Social Security benefits. Because Keohane did not sue until December 2008, more than three years after he received notice of the levy, his claim is barred.

* * *
One final piece of housekeeping. The District Court interpreted the statute of limitations in Section 7433(d)(3) as a jurisdictional bar. See Keohane v. United States, 775 F.Supp.2d 87, 90 (D.D.C.2011). We don't think Section 7433(d)(3) qualifies as jurisdictional under the Supreme Court's current tests. See, e.g., Henderson ex rel. Henderson v. Shinseki, ___ U.S. ___, 131 S.Ct. 1197, 1202, 179 L.Ed.2d 159 (2011) ("a rule should not be referred to as jurisdictional unless it governs a court's adjudicatory capacity, that is, its subject-matter or personal jurisdiction"); Reed Elsevier, Inc. v. Muchnick, ___ U.S. ___, 130 S.Ct. 1237, 1243-44, 176 L.Ed.2d 18 (2010); Arbaugh v. Y & H Corp., 546 U.S. 500, 515-16, 126 S.Ct. 1235, 163 L.Ed.2d 1097 (2006); see also Menominee Indian Tribe of Wis. v. United States, 614 F.3d 519, 525 (D.C.Cir.2010). Other courts have likewise said that the similar exhaustion requirement in Section 7433(d)(1) is not jurisdictional. See, e.g., Hoogerheide v. IRS, 637 F.3d 634, 636 (6th Cir.2011); see also Kim v. United States, 632 F.3d 713, 717-19 (D.C.Cir.2011) (holding Section 7433(d)(1) is an "affirmative defense"). But because the Government raised the Section 7433(d)(3) argument and because we are affirming dismissal on that basis, nothing in this case turns on the mistaken labeling. See, e.g., Sierra Club v. Jackson, 648 F.3d 848, 854 (D.C.Cir.2011); Fernandez v. Centerplate/NBSE, 441 F.3d 1006, 1009 (D.C.Cir.2006).
We affirm the judgment of the District Court dismissing the case.
So ordered.
NOTES
[1]  To be clear, we are not here suggesting that Keohane is correct that the IRS's use of a single paper levy was unlawful. The IRS vigorously contests Keohane's interpretation of the statute, and we leave that question for another day.
[2]  It is quite possible that Keohane at that time did not know that the law supposedly established a 15% monthly cap with respect to a single paper levy on Social Security benefits. But in any event, unawareness of the law does not toll this statute of limitations.
