Work Text:
It occurs to him one night that to anyone else who stumbled upon them in this situation, they’d probably think Jeremy and Gavin had gone mad.
He can’t really blame them, either; after all, at just the start of this year the idea that he’d be snogging Jeremy Dooley of all people in an empty classroom in the middle of the night? It would have seemed impossible. Impossible and stupid and mad . They hated each other's guts!
And yet here they are, Jeremy’s lips firmly on his, his fingers pressing hard into Gavin’s hips while he holds him in place on a dusty, old desk. And he likes it.
Somehow in the three months since they’ve been back at Hogwarts this has become the norm. Like this had somehow been the natural progression of things. Hate Jeremy’s guts for the first five years at school, come back after summer for the sixth after having a growth spurt that easily puts him a few good inches above the other boy, find Jeremy has filled out very nicely over the break too, their fights becoming more playful until eventually one night after they’ve been bantering back and forth for hours and all their friends have left to go to bed, Jeremy presses him into the wall and plants a kiss firmly on his mouth to shut him up.
It feels obvious now. Hate requires passion, and passion so easily twists.
Especially when Jeremy has arms strong enough to hoist him up by his thighs and hold him there for fucking hours . He really just can’t get enough of that.
“You’re such a little fucker, you know that, right?” Jeremy asks rhetorically once he’s gotten Gav where he wants him on the desk, “you think I wouldn’t know it was you who ratted me out to Sutton this morning?”
Gavin can’t hold back his grin, and with Jeremy’s lips still on his, it gives him away instantly. “You got me,” he says, pulling back a little to speak but letting his hands trail up Jeremy’s chest until his fingers curl around his tie, “but to be fair, Dooley, you really deserved to get detention for what you pulled. Always doing the worst things, you are - you should be a little more like me, I’m such a good student!”
Jeremy scoffs, but his mouth is back on Gavin, back on his jaw, pressing kisses there and then sucking .
“No marks!” He hisses with a frown, tugging on Jeremy’s tie. He huffs in annoyance but complies, moving onto his neck and still occasionally sucking on specific, sensitive spots, but never enough to leave a bruise. He knows better than to go against that particular rule with Gavin.
“Good student my ass,” Jeremy gripes, his fingers creeping up under Gavin’s shirt now, “you pull more shit than I do, Free! You just don’t get caught, you fucker.” Gavin has to laugh at that, there’s no room for argument when he knows it’s completely true. Gavin and his group of friends like to get up to a lot of shit they never get caught for. Because they’re smart. And because Gavin’s good at being charming when he wants to be.
“Can’t help being better than you, love.” He grins, then gasps as Jeremy’s fingers roam up over his chest and brush over his nipples.
“Better than me, huh? That’s pretty funny considering how you always come whine at me when you wanna get off. ‘Oh Jeremy, please! Please will you, Jeremy? You know it’s not the same doing it on your own!’” Jeremy teases and Gavin flushes. When he says it like that, in that voice, it’s hard not to tell how needy he sounds. It’s not his fault though, it really is so much better with Jeremy.
“Shut up.” He says lamely, gasping again when Jeremy hikes up his shirt and suddenly wraps his mouth around a nipple.
“Yeah, smart comeback there, Gavin.” He mumbles against his skin, kissing across Gavin’s chest, then down onto his stomach, lowering until he’s on his knees in front of him.
“Oh go suck a cock, Jeremy. Preferably mine .” Gavin grumbles, pushing himself off the desk to undo his belt and shimmy out of his trousers. After a few moments of fumbling, Jeremy huffs impatiently and bats his hands away, making quick work of his belt before roughly shoving his trousers down to rest around his ankles.
“I’d love to. Next time take the belt off before you leave, though, would you? Idiot.” A few months ago he might have been more offended, might have jumped right on the defensive and started retaliating with his own insults, but now he can tell there’s no real bite to Jeremy’s words. Especially when he begins palming Gavin through his boxers and looking like he might want to devour him.
“What would I look like leaving the dorm without a belt, Jeremy? Not exactly subtle. Besides, you’ve still got all your gear on, don’t you? Even your bloody tie!” He retorts, though it comes out more petulant than he’d have liked.
“That’s because your gag reflex is too shit for you to suck me off properly, there’s no need for me to ditch the belt,” Jeremy grumbles, surging forward to wrap his mouth around Gavin’s dick through his boxers, then looking up at him with a sort of frown, “and I have my tie on because you get all pouty when I don’t.”
Then his mouth is back, pressing on his dick nicely and making gavin jerk his hips, desperate for more.
“Oh. Do I? I didn’t even notice.” He says, trying to remember the last time Jeremy had showed up lacking his signature green and silver tie. It had been a while ago, but Gavin can still remember how he’d felt more put-out than usual. He hadn’t even realised why at the time, but now that Jeremy’s pointed it out so simply he feels stupid for not understanding his own bloody emotions.
He doesn’t have time to linger on that thought, though, Jeremy’s fingers quickly hooking into the waistband of his boxers and tugging down until they fall uselessly to his ankles to join his trousers. Then Gavin’s just left there for a moment, exposed while Jeremy sits back on his heels and looks at him, licking his lips with a new hunger.
“I think you like having something to pull.” Jeremy explains for him with a soft sort of smile that makes Gavin’s heart pound heavily in his ears. It makes sense; now that he thinks about it, he does seem to always need something to grip on and pull to get Jeremy closer to him. He never seems close enough. A tie is much better than simply his hair, too, more to grip (what with Jeremy’s cropped haircut) and with the added benefit of not hurting him.
“Huh,” Gavin says, “you’re very observant, Lil’ J. Always noticing things about me that even I don’t think about.”
Jeremy seems to grin like he’s proud for a moment, then the expression’s gone, smoothed into something more neutral and unreadable. For some reason, that bothers him.
“Guess that means I’m smarter than you, huh?” He teases, though there’s less warmth to it now.
Gavin doesn’t have the chance to respond, Jeremy doesn’t give him a moment to even think of a response, mouth descending on him suddenly and making Gavin jerk pretty violently at the new pleasant, warm wetness suddenly surrounding him.
“Christ, Jeremy! Bloody warn a bloke next time, will you? I don’t exactly want you throwing up all over my dick.” He exclaims, wincing at just the thought.
“Sorry,” Jeremy says, pulling off him and smirking, “you just have more trouble being a little shit with my mouth on your dick, so I thought I’d shut you up. Anyway, we both know I’m never gonna vomit on you, Free, my gag reflex is almost nonexistent, unlike yours. So be as rough as you want.” And then his lips wrap back around him again, moving slowly at first, then picking up more speed.
Gavin can’t help the pathetic whimper he lets out, it’s just sort of natural when Jeremy’s sucking him off so good like this. He’s very clearly the best at giving head out of them both.
His knees start to feel a bit weak when Jeremy gets going in earnest, head bobbing quickly and mouth encasing him fully until he feels his tip hit the back of his throat. The warmth pooling in his stomach is building quickly with Jeremy’s expert ministrations, leaving Gavin shuddering and reaching down to get a grip on his tie to pull him even closer. He’s more conscious of doing it now, but he can’t really bring himself to care when everything feels this good.
“Actually, I think I like it better when you’re rough.” Jeremy says after pulling off for some air, a dark look in his eyes as he looks up at Gavin that sends a sort of shock through his entire body upon seeing. Jeremy looks good like this: lips red and wet, face flushed, his short hair all ruffled and sexy, uniform thoroughly mussed and tie tight around his throat from Gavin’s tight grip.
“I think I like it better when you look like that .” Gavin replies breathily, heart in his throat as he tries to calm himself even a little.
It seems to be a good thing to say, as the look in Jeremy’s eyes intensifies and he immediately dives back in, sucking Gavin off with a new conviction, now, like he’s determined to make him cum, and quickly. It’s all Gavin can do just to keep a grip on his tie, his treacherous knees buckling beneath him as he struggles to remember how to breathe . Jeremy is quick to catch him, hands grabbing onto the backs of his thighs and pressing him back into the desk behind him to take some of the weight off. Not that Gavin is particularly heavy, but he thinks it’d probably be a bit difficult to maintain his hold for too long with his mouth wrapped around a cock.
Jeremy just groans in response to this, not seeming particularly bothered by having to help Gavin stay upright now. In fact, he seems proud of himself for making Gavin feel so weak, for getting him so worked up that he can barely think, let alone figure out how to work his legs.
Gavin’s actually not that experienced with things like this; being with someone. They aren’t properly together , more casual—fuck buddies that haven’t even labeled it yet, but the fact still stands. Everything he’s done with Jeremy is the first time he’s done these things. Even kissing.
As such, basically everything Jeremy does is like perfection to him, he has nothing to compare it to. Still, he thinks even if he did it probably wouldn’t change anything. Gavin doesn’t have to have the experience to know that Jeremy is good at this sort of stuff. Probably because—despite his appearance—Jeremy’s actually gotten around quite a bit.
Something that when he learned, he found himself surprisingly unhappy with.
“I’m probably not as… Experienced as you, Free, but I’m not a kid, you know. I’ve been with my fair share of people.” Jeremy had said when he’d asked about his past sexual history.
He hadn’t meant to offend , he’d simply been curious when he noticed just how adept Jeremy was with his mouth, his fingers, had wondered if he’d been with someone in the past. Then Jeremy said that , and Gavin had to ask, didn’t he?
“What, you want me to count them or something? Jeez, worried I’m gonna outdo you? I promise you I won’t, it’s definitely under ten, I’d just have to think about it for a second.”
Under ten meant more than five or six, then, if he’d have to think about it for a moment. Meant infinitely more than Gavin considering he’d had no experience beyond Jeremy. He just hadn’t expected it, had been thoroughly surprised. Jeremy didn’t seem the type to sleep around, nobody talked about him, nobody spread rumours of him sleeping with everybody in sight, of having wild threesomes. He supposes he should have known better than to base expectations off reputation. After all, Jeremy certainly had and… Well. Despite what all the other students think, he’s not a slut, is he?
“Close.” Gavin manages to croak out when the familiar tension of a building orgasm distracts him from his thoughts, fingers trembling around Jeremy’s tie. He simply gets a hum in response as Jeremy continues dutifully working him over, pulling himself further and further down on Gavin’s cock and making delicious moaning sounds all the while.
Gavin could probably cum from those alone.
The eagerness with which Jeremy devours him is fucking hot, to say the least. He’s always the more eager of them, the more forward, the more confident. He’s always the one that leaves wanting more and most of the time Gavin finds himself struggling to keep up with that stamina.
When he’s finally right on the edge, he manages to give Jeremy one last warning, though it’s really for nothing. All he seems to do is give Gavin’s thighs a reassuring squeeze and a small hum of affirmation.
Then he’s just tumbling over, wrenching Jeremy close by the tie as he spills every last drop right down his throat and watching him greedily drink it down. He’s barely had time to recover and gather his thoughts (i;e get his brain working again) when the other boy is pulling off him with a pop and quickly raising from his knees to smash their mouths together. He winces a bit at the forceful kiss at first, but melts into it almost immediately, letting Jeremy take control while he gathers his bearings.
Orgasms tend to make his brain short out for a while.
“Here, Jeremy, let me.” Gavin says, voice thick with exhaustion as he reaches down between them to quickly undo his belt and push a hand into his trousers. It’s the least he can do to return the favour.
Jeremy lets out a sort of strangled groan as he bucks into Gavin’s hand, letting his head fall into the crook of his shoulder while he takes quick, shuddering breaths. “No,” he groans before gently gripping Gavin’s wrist and tugging his hand away, “I’ll do it, you’re tired.”
His voice is soft but it drives Gavin crazy with the need that’s inside of it. Then he’s distracted when Jeremy pushing his own hand into his trousers and starts stroking himself quickly. He could probably watch this all day.
“I’m not! I can do it, Jeremy, it’s not exactly fair for you to get me off and for me to just sit back on my heels twiddling my thumbs after.” Gavin protests, but when he reaches back down, Jeremy’s pushing him away with his free hand. Then his mouth is kissing along his neck, right in all the places he knows are sensitive.
“Don’t worry about it,” he says, then gives a soft chuckle, “you’re um… You’re bad at giving handjobs anyways.”
Gavin gives a squawk of indignation, but then Jeremy’s biting down on a certain spot and his heart seems to stop in his chest. He feels his cock give a slight twitch of interest, but he’s nowhere near ready to go again yet.
“You know, I always thought you must be like a sex god or something, the way everybody talks about you, Free. But you’re so bad at blowjobs and only decent at handies, makes me wonder what anyone sees in you. You’re kinda a shit slut.” Jeremy laughs once he’s released Gavin’s neck from his teeth, and the thing is, it kind of hurts.
He expects it, expects it from everybody and especially from Jeremy, considering the type of relationship they have, but something about it feels like crossing a line. Because Jeremy doesn’t even know him, not really. He just takes everyone at their word, believing all the rumours about him, treating him like a slut when he’s only ever been with one person, hadn’t even really thought about sex until that day Jeremy forced a kiss on him. If anyone’s the slut here, it’s Jeremy. Yet here he is, being condescended to by someone he’d finally started to believe wasn’t a complete asshole.
And the thing is, Jeremy’s called him a slut before, called him a slut many times before and Gavin’s always laughed it off because it’s Jeremy . He’s finally figured out that that’s just how he is, but this time something’s different. Maybe it’s just one too many times, maybe it’s the way he says it, how it makes him feel like Jeremy’s starting to get fed up with him, starting to get bored. Maybe it’s because now he’s even given up on letting Gavin get him off, how that just reinforces the idea that he’s not good enough.
He's just a shit slut.
“Well,” Gavin says, unable to keep the venom dripping from his voice as he pushes the other boy away, “since I’m so shit , Dooley, I guess you’re fine by yourself, huh? You don’t need me here if you’re just going to get yourself off.” And then he’s pulling his trousers back up, doing up his belt and fixing up his uniform so he can go back to Hufflepuff already.
He’s had enough judgement already for one day.
“What?” Jeremy exclaims, still bracing himself on a desk after Gavin had shoved him, “What did I say, Free?”
He pays him no mind, giving his hair a final comb-through with his fingers and straightening his robes before turning to leave.
“Hey, come on! Come on, I’m sorry, what did I say? Gavin!”
The door clicks shut behind him.
~
Michael’s the first to notice his sour mood at breakfast the next morning, making a beeline for Hufflepuff table as soon as he enters the Great Hall and spots Gavin angrily attacking his sausages with his fork.
“I think they might be dead now, Gav.” He says, sitting down across from him and chucking his bag down next to him on the table.
“Just making sure.” Gavin sighs and sets down his fork, giving Michael a tired smile. He hadn’t been able to sleep much at all last night, mind racing with his thoughts, anxieties, trying to figure out how he’d apologise to Jeremy, how he’d explain, wondering how everything had become so messy .
“You gonna tell me what’s wrong today? Or am I going to have to sit here trying to squeeze it outta you all morning like every other time?” Michael asks, pulling a book from his bag to start writing in, seemingly not 100% interested in what’s ruffled Gavin’s feathers this particular morning.
“Nothing’s wrong.” Gavin answers unconvincingly.
“Sure,” the other boy says, pulling out a quill and starting to work on the essay Professor Gardner had given them for Arithmancy yesterday, “I definitely believe that and am now convinced you’re perfectly fine and won’t bother you for the rest of the morning.”
Gavin has to laugh at that, the idea that Michael Jones would ever leave him alone when he needs it most is preposterous. That’s exactly the time Michael digs his heels in and pesters him even more; bullying him into submission until Gavin’s blurting out whatever’s bugging him with no small amount of annoyance. Getting him to open up is like a specialty of his.
“Right, well, now that that’s settled, pass me some toast will you? I don’t think I want sausages anymore.”
Michael chucks him two pieces, but then says, “What’s wrong, Gavin? And don’t make me ask again, or I’ll find somewhere interesting to put this fork.” And holds it up for Gavin to see.
Normally he’d already be considering telling Michael at this point; after all, he always ends up telling him the truth anyway, why prolong the suffering? Except he can’t this time. No matter what, he can’t just tell Michael that he’s been hooking up with Jeremy for a few months behind everyone’s backs. Even if he desperately wants to tell someone about it, even if he wants more than anything to talk about what had happened last night and how upset he really is with Jeremy and himself.
“Even if there was something wrong, I can’t tell you.” He settles on eventually, deciding to just deal with Jeremy on his own. There’s no need to bring Michael into this, not when he doesn’t even know if they’ll still be able to go back to normal.
Michael looks up from his book at him and frowns in confusion. “You can’t tell me? The fuck does that mean?”
“It means I can’t tell you.” Gavin says simply, frowning as well. He distracts himself by buttering the toast, but when he goes to take a bite, his eyes drift automatically over to where he always seems to be looking these days: the slytherin table. His eyes meet Jeremy’s instantly, apparently having caught him staring. Instead of looking away with embarrassment like he probably should , however, Jeremy simply frowns at him.
He seems annoyed, somewhat, but his gaze is also questioning, like he wants to figure Gavin out.
It’s incredibly disconcerting, not to mention distracting, so he averts his eyes pretty quickly and goes back to staring at Michael in front of him. The other boy is watching him very closely with a look that isn’t too far off from what Jeremy’s was. “I meant why can’t you tell me, dickhead?” He asks, clearly annoyed now. To be fair, it’s not often that Gavin actually keeps a secret from him; they’re best friends after all and with Michael being an expert at wheedling information out of him, Gavin doesn’t see the point in trying to hide most things from him in the first place.
“I can’t tell you that either, ‘cos you’ll know what I can’t tell you, then.” Gavin answers, taking another bite of his toast and trying to act casual. He peeks a glance back over in Jeremy’s direction quickly and is annoyed to find him still staring. He’s not very subtle.
Throwing down the remainder of his toast on the plate, he decides he isn’t very hungry anymore and definitely not in the mood for more of Michael’s questions, so he gathers up his things and pushes up from the table. “Look, I’ll see you in Arithmancy later, alright? I have something I need to do this morning.”
Before Michael can answer, he’s stepping over the bench and out into the aisle between tables, moving quickly in case he tries to follow. Once he’s out in the Entrance Hall he continues on, heading nowhere particular, just wanting to find somewhere to get away and maybe have a moment’s privacy. Not that that’s likely to happen, his friend group consists entirely of people who live to annoy him and get all up in his personal space. Either way he doesn’t let it stop him, walking as quick as he can without jogging until he can find someplace to be alone and think.
He’s not really ready to face Jeremy yet, not ready to explain what had upset him, not ready to risk fucking up whatever it is they have with his stupid feelings.
He likes Jeremy, as much as it might pain him to admit. Until the start of this year, he’d always hated him, but when school started again even he had to admit that Jeremy was at least somewhat attractive despite being a total dick. And then he started being less of a dick. Or at least Gavin didn’t perceive him like that anymore, finally starting to see what everyone else seemed to; his fun-loving nature that matched Gavin’s, the insults laced with affection, the shoves that are more gentle and playful rather than mean-spirited.
And then after Jeremy kissed him, of course. If he hadn’t realised his feelings changing before then, then that certainly opened his eyes.
They still fight, it’s impossible not to when they’d worked out how to push each other’s buttons years ago, but any real hatred Gavin had held for Jeremy has long since died out.
All that’s left is this electrifying feeling deep in his gut he gets whenever Jeremy is around, whenever his fingers brush against his skin or when they finally get a chance to kiss, all pent up need from having to hold back all day.
So no, he definitely doesn’t want to fuck this up. He’s still annoyed, still wants to chew Jeremy out the first chance he gets, but that would mean explaining everything, would mean admitting secrets he hadn’t meant to keep from him in the first place, would mean admitting his feelings and risking the chance that Jeremy doesn’t feel the same. Because while they’ve been hooking up, sneaking off any chance they can get and making-out nearly constantly, he’s not sure that means Jeremy actually likes him.
Gavin’s never been with anybody before, he’s not sure exactly how these sorts of things are supposed to go, but he’s pretty sure they’re not supposed to start fucking before they even go on a first date. He’s pretty sure what he and Jeremy have would be closer to friends with benefits (or perhaps enemies with benefits in their case?) rather than anything resembling a relationship.
And that means Jeremy could still hate him, could only really want to hook up with Gavin becauses there’s no one else around.
So if he admits he’s inexperienced, admits he actually likes Jeremy and maybe even wants to try being with him, he could completely freak him out and scare him off for good. Then he wouldn’t get to be around him at all; wouldn’t get to talk to him, wouldn’t get to touch him like this anymore.
So he can’t face him just yet. He knows if he does, everything will all just come spilling out of him, he’ll fuck everything up and Jeremy will definitely hate him.
But, of course, Jeremy never gives him a choice in these things.
“Hey, Free! Wait up,” his voice shocks Gavin, sends his heart racing and makes him go completely rigid as he stops in his tracks and slowly turns to face behind him, “you’re too fuckin’ fast.”
He watches as Jeremy jogs the few paces it takes to catch up to him, actually looking a bit out of sorts; face all red and sweaty, robes askew on his shoulder and hair all mussed. “Did you just run all the way from the Great Hall just to catch up with me?” Gavin asks incredulously, waiting for the other boy to catch his breath.
“Yeah, well you were walking like you were on a mission! I kinda had to, my legs aren’t as long as yours, you know! I haven’t hit my growth spurt yet.” Jeremy answers, leaning on his knees and breathing quickly for a moment before finally straightening up.
“No, I meant like did you really just run all the way from the Great Hall just to catch up with me ?” Gavin repeats, hoping this time Jeremy will understand.
“Well, yeah.” He says simply, almost sounding like he thinks the question is dumb and Gavin has to stop himself from slapping his forehead because there’s no way Jeremy is this dumb, right?
“You know that’s not normally a thing people do, right? You could have just waited until we had class together. Or just shown up at one of mine since you basically know my schedule off by heart now anyway and I know you skip half your classes already- actually, you know what? Nevermind, just tell me what you want.” He sighs, giving up at the look on Jeremy’s face. He can’t stall.
“Alright, look, I just wanted to say I’m sorry for last night, okay? I’m sorry I said you were shit in bed. I did kinda mean it- but I didn't think you’d care!” Jeremy interrupts himself when Gavin makes an affronted noise, “sorry, I just… It was meant to be a joke more than anything. I mean, you’re the one always making jokes about how you’re shit at blowjobs and how bad your gag reflex is, I guess I just didn’t think it would upset you. I’m sorry.”
Gavin fights an internal battle while he watches Jeremy struggle to apologise and dig himself further into the hole he’s made. There’s a thousand different things he wants to say. “Okay, first of all,” he eventually says, “just because I joke about being bad at sex, doesn’t mean you can. Second, that’s not really the reason I’m mad, and it does kind of annoy me that you don’t get that- but look, I just really didn’t like the way you talked to me. When you called me a slut it really… Pissed me off.”
Instead of looking like he understands, like he’s maybe remorseful like he should be, Jeremy just looks confused. And it pisses him off.
“Because I called you a slut? But everyone does, even Michael and Ryan, hell, I’ve called you a slut probably a thousand times.” He says, and the way he brushes it off so casually makes Gavin’s blood boil.
“Yeah, well maybe that’s why , maybe I don’t like being called a slut everyday, maybe I don’t like that everyone thinks- when really I’m the last person- when even you have more- ugh! Look, just forget it, alright, Dooley? You clearly don’t get it and I can’t explain it.”
“What do you mean I don’t get it? Of course I don’t if you won’t explain, because to me this has just come up out of nowhere! You’ve been fine every other time I called you a slut, I just don’t understand why now it’s different.” Jeremy exclaims, affronted, his face becoming even more red with anger.
“You think that’s why- I don’t- look, just forget it, Dooley, it doesn’t even matter.” Gavin huffs, crossing his arms over his chest and turning slightly away, struggling to keep his trembling lips pressed into a tight line. He can’t show that he’s on the verge of tears.
“What the fuck does that even mean? Just tell me what I did wrong.” Jeremy says, reaching out to him now and trying to get him to look at him again.
“There’s no point. ” Gavin roughly pulls his arm back and stomps off, making sure to walk as quick as he can again in the hope that he might not be followed. It’s probably for naught anyway, Jeremy’s probably well pissed off at him now, probably won’t want to speak to him for a while.
That’s just fine with him.
They don’t see each other for the rest of the day, Jeremy seemingly avoiding him since he skips the one class they actually share together (and from what he hears, the rest of his classes too) and Gavin is not disappointed, definitely not. He’s still angry with Jeremy anyway, it’d just upset him more if he did turn up to class.
And then he doesn’t show up the next day either, sits at the side of the Slytherin table so his back is towards Gavin—not that he cares anyway because he also sits on the side of the Hufflepuff table that means his back is to Jeremy, when he comes in and sees him—but that’s the only time he does see him, even if he can’t even see his face.
Then the next day, the day after that, both sitting with their backs to each other, both avoiding the other’s gaze, acting like the other isn’t there when Jeremy eventually has to start coming back to class again. It’s basically torture, going back to how things were before after what they’d had.
Except that this isn’t even how things were before, at least they used to talk to each other, acknowledge each other’s existence, if only to make jabs at each other and throw insults.
Now it’s like… He pretends that Jeremy doesn’t exist so much that it feels like he doesn’t.
And he’d take hating Jeremy any day over losing him.
Because that’s the thing, isn’t it? Even now he can’t hate Jeremy, they’re well past that point and Gavin can only be mad at him, can only be hurt, can only miss him. You can’t hate someone you love, right?
~
It’s been three weeks.
Three. Weeks.
He feels like he’s about to explode for a multitude of reasons. Being mad at Jeremy’s taking everything out of him, not having him around is like having a part missing from his body, the wound still fresh as the day it was given to him. The others have noticed by this point, constantly on him about his sudden temper and his impatience which only makes it worse, naturally.
Then there’s also the fact that he hasn’t gotten laid in three weeks, another reason why he’s snappier than usual.
Look alright, he’d been fine before Jeremy, had sorted himself out on his own, but now… Well, it’s not the same, is it? Being with Jeremy had been like heaven, had been perfection. It hadn’t just been a temporary release, it’d been ecstasy that had lasted hours long after Jeremy’s touch left him. He’d gone to bed in pure bliss, had happily sat through classes with his head in the clouds, counting down the minutes till they could be alone again.
Now? Now he’s going to hide in the library to get away from all his friends and their prying questions, trying to get him to open up about what’s been eating him lately, trying to force him to fix whatever mess he’s made. They mean well, but Gavin just needs a break, needs a few minutes to himself where he doesn’t have to think about the fact that he’s fucked up the only relationship he’s ever had, the only one he’s ever wanted to have.
He walks quietly and quickly through the aisles, trying to get as far into the library as he can so no one will find him, trying to lose himself amongst the books so that maybe even he won’t have to think about how shitty everything is. How shitty he is.
And of course, of course , as luck has it, he stumbles across the last person he wants to see this very moment.
It’s like seeing a ghost—or, well, not really a ghost since they actually have those here at Hogwarts, but still—he feels like he hasn’t seen Jeremy in months, hasn’t properly looked at him in weeks, sure, but he hadn’t realised how much he’d changed in that short amount of time, too oblivious, too afraid that he might catch Jeremy’s eye if he so much as looked in his direction.
He’s sitting at one of the tables, his robe tossed to the floor and his jumper sleeves pushed up to his elbows, the first few buttons of his undershirt ripped open and his tie pulled so loose it’s almost come off. He looks like he’s lost weight; his frame is smaller than usual and though Gavin can’t see his face from where his head is tilted down, looking at the table, he feels like if he could he’d see hollowed cheeks and dark circles under his eyes.
He’s shaking, Gavin notices, fists clenched in front of him and trembling as he breathes heavily, slowly, like he’s trying to control his breathing, slowly getting more ragged with each moment. It’s not just his hands, either, from what Gavin can see of his hunched form, it looks like his whole body is trembling with this tension.
It’s uncomfortable just to watch him. He feels like he shouldn’t be here, shouldn’t be seeing this, shouldn’t intrude on something this personal. He doesn’t know what Jeremy’s doing, what’s going on, but he gets the feeling that if he just looked up a little and spotted Gavin, he might yell at him or throw a hex at him or something.
And then he sees it. A drop of water hits the table with a soft splash and Jeremy sniffles and christ, Gavin really needs to leave .
He can’t see his face since Jeremy’s got it tilted down so much, but he can still see the tips of his ears, pink as can be and his fists, knuckles gone white from how hard he’s pressing his fingers into his palms.
When the floorboard squeaks underneath him as he tries to leave, Jeremy tilts his head up a little slowly, blinks at him for just a second before realising it’s Gavin standing in front of him and then flinches.
It makes Gavin flinch as well, just seeing, and then Jeremy’s wiping his face hastily, standing up from the table and fuck, fuck , he’s probably so pissed at him, probably hates him even more for spying on him and now he’s gone and ruined everything even more .
“S-Sorry, I wasn’t-!” Gavin opens and closes his mouth a few times, then turns and flees before Jeremy’s even finished getting up from the table.
“Wait, Gavin! It’s al-” He hears as he dashes off, but he ignores it; doesn’t spare a glance behind him, too afraid of what he’ll see.
~
The rumours started when he was thirteen.
Fucking thirteen; he was barely a teenager and people had already labelled him a slut.
He doesn’t exactly remember who started the rumour, thinks it was probably one of those girls that were friends of someone Gavin’d had a fight with a few days before it started circling, but he couldn’t tell you their names.
The thing is, everyone just sort of… Believes it.
He can’t blame them, it’s not a far leap to make. Gavin’s always been affectionate, loud, over-the-top, flirty. Too much to handle. That’s just how he is; lovable and friendly and eager to please. When people hear the rumours about him it’s like suddenly everything makes sense. That’s why he always hugs people, that’s why he seems to have no concept of personal space, why he’ll just flop into people’s laps, make silly jokes to get a laugh, always needing eyes on him.
He’s a slut. It makes total sense.
Except for the fact that it isn’t true. At thirteen, he hadn’t even thought about so much as kissing someone, let alone going around trying to snog anyone that’d let him, opening his legs for whoever wanted to have a go.
When he looks back, it just makes it even more clear to him how stupid it all is, how young he’d been, how oblivious everyone seemed to be to the fact that no one had ever even said Gavin had kissed them.
No proof and yet his reputation was so solidified. Of course he’d give up on denying it, of course he’d give in and just accept the fact that the people who really mattered would believe him, and everyone else could go fuck themselves, frankly.
And then Jeremy.
They’d known each other, of course, he’d shared quite a few classes with the Slytherin boy, had paired up on occasion and even had friendly banter, but he wouldn’t have called them friends. At the time, Jeremy had seemed too shy to open up to him properly and Gavin hadn’t pushed him.
But he’d liked Jeremy, had thought he was funny and nice, even if they were just acquaintances. He’d never have imagined they’d end up like this : hating each other for almost four years, getting into this complicated, messy relationship that can’t even really be called a relationship that’s ended up with Gavin falling in love with him and getting his heart broken in the span of a few months.
Back when they were thirteen, Jeremy had been so shy , had been too afraid to really come out of his shell with Gavin despite the fact that he could clearly see how open he was with his actual friends.
So of course he was surprised when Jeremy approached him. Happy, but still surprised that he seemed to finally want to give Gavin a chance.
And they talked, for a bit, Jeremy opening up little by little and asking Gavin questions, smiling and laughing and getting along like actual friends.
“What do you mean ?” He remembers Jeremy’s laugh, the way he’d covered his face and shook his head at him.
“Look, I’m just saying you wouldn’t know, would you? So how would you figure out how to do it if nobody ever showed you?” Gavin had asked, grinning at him and holding back his own giggles.
And then, down the table, someone snickered.
He heard the whispered comments, knew exactly what everyone around them was thinking, as they looked at them both with smirks and giggles hidden behind perfectly manicured hands. It instantly broke his good mood.
Well, if it was entertainment they were looking for, he’d be happy to put on a good show.
“You’re just… Gonna let them say that stuff about you? It’s not true, is it?” Jeremy had asked softly, leaning over the table a little as he talked to try and hide his words from the students around them. Not that it had mattered, everyone around them was listening intently, craning their necks and straining their ears just to catch a little snippet of their conversation to latch onto later and use as gossip.
“What, that I’m a slut? They can go ahead and say whatever they want, I don’t really care.” Gavin had said breezily, because by this point he’s learned that showing how much it hurts him only makes it all worse. The best thing to do is lean into it and hope people eventually get bored. It only bothers him if he lets it.
“But if it wasn’t true you’d be defending yourself, right? Letting it go just means they’re right. Are they?"
A girl at the Ravenclaw table actually turned in her seat just to look at them, all of her friends giggling around her.
Gavin grit his teeth and scraped his fork along his plate as he felt his face go hot in annoyance and hurt. “Why do you care? So what if it’s true, I’m just a bad person? Don’t be so judgemental, Jeremy, you don’t even know me. We weren’t even friends until five minutes ago!”
In the moment it had felt good, letting it all out on someone who’d probably just been curious, probably didn’t mean to come across as judgemental, didn’t mean to hurt Gavin, but who did . It felt good to get some retaliation, even just a little. His words were venom and they sat on his tongue like sweet sugar as he finally took a stand and defended himself, defended actions that weren’t his because really , would it be so bad if he was a slut?
It’s nobody’s fucking business.
Jeremy’s face quickly soured, though, and the sugar turned to ash as he realised that he’d just lashed out at the person he’d been excited to get to know—the person he’d spent months trying to get to open up. He’d just been so sick of people acting like he’s someone he’s not, asking him questions, poking and prodding, never leaving him alone .
So what if it hadn’t been exactly warranted? It was Jeremy’s fault for sticking his nose where it didn’t belong. Even if it didn’t feel good to see his mouth curl in disgust and his eyes squint in hurt, he’d felt justified .
“I wasn’t being judgemental, jeez! You don’t have to be such a jerk about it, all I asked was a question! But hey, it’s your business right? You can go sleep around with whoever you like, I don’t care because we clearly aren’t friends. And I thought Hufflepuffs were supposed to be nice .” Jeremy huffed and jumped up from the table, shoving his bag over his shoulder and storming off before Gavin can even get in another word.
And the thing is, Gavin had planned on apologising, had planned on trying to make up with Jeremy, explain why he snapped and tell him that the rumours aren’t true-
But then he’d accidentally ran into him on the stairs (like, literally ran straight into him) and Jeremy started to apologise before he saw that it was Gavin.
“Shit, so- Oh, it’s you.” He can still see it clear as day; Jeremy’s lips pulling into a tight line, arms crossing over his chest in defense and it’s only now that he’s older that he realises that yeah, maybe it wasn’t disgust and derision, maybe he’d just been scared of Gavin throwing more insults and snapping at him like he’d done before.
And of course, he’d proved him right.
“Yeah it’s me. Sorry, guess I shouldn’t have been standing here when you walked into me , people might think I’m trying to hit on you or something if we touch. I’ll try to stay out of your way.” And then he’d continued off back up the stairs, fuming.
“Fuck you too, asshole!” He’d heard, and again, only later is it when he realises that his voice is hurt .
Gavin never does things halfway; so of course once he’s decided to hate Jeremy, it’s easy for things to escalate.
In his mind, everything he does is justified, every insult, every roll of the eyes and every groan, every disgusted look and glare, all of it. Because Jeremy dishes it out just as good as he gets and it results in a never ending war between them, unable to even be in the same room as each other without the bickering starting in under five minutes. He hates Jeremy because he’s a judgemental dick who never lets Gavin catch a break, and Jeremy hates Gavin because he thinks he’s a slut.
Well, that’s what he’d assumed , but looking back on it after so many years, after months of being in the same room with Jeremy and laughing instead of yelling, bickering for fun instead of perceived necessity, he realises more and more that maybe that’s not the case.
Jeremy makes fun of him, sure, calls him a slut and makes jokes about it all, but he’s realised that he doesn’t mean to be mean about it. He’s not judging him for sleeping around even though he believes it’s true, he doesn’t actually care—because if he did, then he clearly wouldn’t want to start hooking up with him in the first place—so why had he hated Gavin?
The answer is clear: because Gavin’s the one who started all this, Gavin’s the one who made not only the first strike, but the second as well, and then he’d kept pushing it further and further until Jeremy really did hate him.
It’s his fault Jeremy hated him.
And it’s his fault he probably hates him again now.
~
He’s been looking for Jeremy all. Bloody. Day.
Ever since their encounter in the library and his realisation two days ago, he hasn’t been able to stop thinking about him, hasn’t been able to stop thinking about how badly he’s fucked this up and how he could possibly fix things. He’d been keeping an eye out for Jeremy before, expecting to see him eventually since when he was trying to ignore him, it seemed they couldn’t get away from each other, but now he has to actively search him out because it’s clear that since being caught in the library, Jeremy’s been avoiding him.
Not that Gavin can blame him, really, if their roles had been reversed he’d probably be doing the same thing; hiding, embarrassed and probably annoyed.
The thought he can’t really get out of his head is why he’d been crying, though. He’d expected Jeremy to be mad, to hate him again after all this, but crying ? Gavin’s the one heartbroken here, not Jeremy.
Maybe it’d been completely unrelated and he’s just projecting. Maybe this entire thing hasn’t affected Jeremy at all beyond simple frustration at not having a convenient fuck buddy anymore.
But he won’t know that until he finds him and talks to him.
It’s around six o'clock now, he’d stopped and had dinner, had a quick look around the Great Hall with no luck before heading back out again to search. He’s not giving up, he won’t bloody rest until he sorts this out.
“Hey, Gavin, wait up!” He hears someone call from behind him and snaps his head round immediately, for some reason expecting he’d find Jeremy standing before him instead of one of the Ravenclaw guys he takes Charms with.
“Oh, hey Will, what’s up?” Gavin asks, trying to hide the disappointment in his voice and not wanting to be rude, but still looking around nervously like Jeremy might walk past without him noticing if he takes two minutes to stop and chat.
“Well, I was actually wondering if you could do me a favour? If you’re not busy, that is.”
He takes a moment to think, still not wanting to be rude because (though they’re not the best of friends) Will’s actually a decent guy, one of the few people that doesn’t say shit about him without being one of his close friends. “What do you need?” He asks instead of answering.
“If you’re busy, it’s alright,” Will says, giving him an easy smile and hesitating for a moment, probably because he can tell by Gavin’s body language that he is currently in the middle of something, “but I just know that you’ve gotten that Protean Charm down and I’m still having so much trouble with it and I was wondering if you could maybe help me practice?”
He glances around for a moment, then leans a little closer to Gavin. “You know, show me the wand work and all that. I heard some of the other guys say you ‘helped’ them too.” He says and grins with a little too much teeth, sharp and pointed.
There’s a moment where he doesn’t get it, where he’s about to answer ‘sure, yeah! I can definitely help you out, maybe tomorrow though?’ with a bright grin and maybe a pat on the shoulder without hesitation. Because he’s naive, because it’s been a while since someone’s tried to pull this shit with him and he’s forgotten .
“Wait, Will, do you want to-” he starts to say, trying to give him the benefit of the doubt by asking before he gets mad like he usually does—firstly because he’d thought Will was nice, secondly because he’s literally just learned what jumping to conclusions and getting defensive gets him.
And then before he can finish what he’s saying, he’s being yanked by his wrist with a tight, warm grip on his arm as he’s pulled against something solid, stumbling over himself from the suddenness and having to regain his balance.
“Sorry, don’t mean to break up your little date but I need Free for a sec’.” It’s Jeremy who speaks and Gavin looks up to see him giving Will an incredible death glare, even worse than any he’d seen from him before. His eyes are full of a hatred that hasn’t even been directed at Gavin before, and he swallows nervously as his eyes flicker between the both of them.
But it’s only a moment that Jeremy lets the statement hang in the air, quickly turning on his heel and tightening his grip so much it hurts , dragging Gavin along with him as he stomps down the corridor, ignoring his protests and Will’s shouting.
“Jeremy, let go , Jeremy, you’re hurting me!” Gavin huffs in annoyance, because if he’d just listen for a moment , he’d know that he’d been looking for him in the first place, he didn’t need to be bloody dragged. But still, ignored, though the grip does loosen, if only a little bit.
“Look, just stop for a second, okay, I wanted to tell you something.” He says, stumbling a little bit as Jeremy opens a door to an empty classroom and practically shoves him inside.
“Yeah?” He asks distractedly, like he’s not even listening to what Gavin’s saying, then shuts the door behind him with a quiet click before descending on him.
Jeremy turns them around, pushing Gavin back against the door and yanking him down by the tie to press their lips together in a searing kiss while his other hand pushes firmly against his chest to hold him in place. For a moment he struggles, indignant at having been completely ignored and annoyed at Jeremy’s forcefulness, but then he’s just… Melting into it. All his indignance, all his objections, all his annoyance flying right out of his head.
Merlin, he’d forgotten what it felt like. He’d forgotten how warm Jeremy is, how solid and strong and familiar he is, how his hands feel; the one he was using to hold his chest now exploring upwards, scrubbing along his jaw and using his thumb to gently pull Gavin’s chin down slightly so he can slide his tongue into his mouth and deepen the kiss.
Without even thinking about it he’s kissing back, steadying himself on Jeremy’s shoulders as he leans into him, following his lips with desperation because it’s been weeks and he’s fucking missed this.
And the minute he starts kissing back, Jeremy’s whimpering against his lips, his hand sliding down to rest on Gavin’s neck as he presses more firmly against him. Gavin’s nearly dizzy with how good it feels, becoming putty in Jeremy’s hands as he bites on his lip and rubs his thumb over Gavin’s adam’s apple.
The more he kisses back, the more he moans and whimpers and leans into him, the more desperate Jeremy seems to become, his breathing becoming ragged and his fingers trembling against Gavin’s skin and soon he fucking whines —Merlin it’s hot—pulling back from the kiss just a little to lean up and touch their foreheads together.
“Can’t we just go back to this ?” Jeremy breaths against his lips, “ please , I can be good.” His voice breaks and then he’s recapturing Gavin’s lips with a new determination, both of his hands pulling Gavin’s shirt so it’s untucked, then diving underneath it to roam along his stomach.
He shudders under the touch, a pounding in his ears as his heart goes wild, but there’s this niggling feeling in the back of his mind from Jeremy’s words. I can be good .
“What do you mean?” He asks, gasping as one of Jeremy’s fingers brushes over his nipple, but forcing himself to pull back from the kiss despite how good it feels. Jeremy simply kisses at his jaw instead, nails raking across Gavin’s chest as he presses a thigh between his legs.
“I can be good ,” he simply repeats, nipping at Gavin’s jaw, “you won’t need to go around flirting with guys like that just to get laid, you have me. I won’t fuck up again, okay? Please.”
Jeremy lips brush down his neck, his kisses becoming slower, reverent and adoring like he’s trying to savour every moment, still full of passion but… Softer. It feels like too much and not enough all at once; the delicate process of taking Gavin apart piece by piece with each kiss until his brain feels like mush. But still that feeling in the back of his mind, something unresolved.
“I wasn’t-ah! I wasn’t flirting, Jeremy-” he squeaks when Jeremy bites down on the crook of his neck, his hips canting against his thigh to try and get some friction because fuck this feels good. It’s hard to stay focused on a conversation when Jeremy’s slowly, slowly pushing up his shirt and revealing his skin inch by inch.
“Don’t pretend.” Jeremy frowns into his neck, then gives it a soft nip before his lips latch on and he sucks a mark deep into Gavin’s skin.
“W-wait, Jeremy, wait! Do-don’t, Jeremy, no marks-” he gasps when Jeremy tilts his head to get the other side of his neck, littering marks along his skin wherever he can reach, “Jeremy-Jeremy, wait-”
His hands start pushing back against Jeremy’s shoulders now, no longer using him for support but trying to get him off because—despite how fucking good it feels—he can’t let him give him hickies.
For a moment he doesn’t move and Gavin nearly panics, nearly starts thinking that Jeremy will continue even with Gavin trying to push him off, but then he’s releasing Gavin’s neck, head pulling away from him only slightly so that Gavin can’t make out his expression from this angle.
“What, you think you won’t be as fuckable if people see what I do to you?” It’s the bitterness in his voice that makes Gavin visibly flinch and he presses his hands against Jeremy’s chest, pushing him back to create some distance between them. Even Jeremy seems to be a little shocked at the words that came out of his mouth (or perhaps Gavin’s reaction to them), staring up at him with wide eyes
“Why do you have to be such a goddamn prick all the time?” Gavin hisses defensively, pressing his lips together tightly to stop them from trembling. He doesn’t want to show Jeremy how much it hurt . He knows that Jeremy’s just lashing out, trying to hurt him, so he won’t give him the satisfaction.
“Yeah, I’m the prick here,” Jeremy laughs humourlessly, disentangling himself from Gavin completely and taking a step back, hands balling into fists at his sides, “I’m the prick and you’re just the innocent victim, right? That’s how it is with you; putting the blame on others and making excuses… You know, I knew you’d get bored of me, knew it was just a matter of time before I stopped being shiny and new and you decided to… And then I called you shit in bed and you got all pissy, decided I wasn’t that interesting anymore and dropped me, tried to make me think it was my fault when-”
He doesn’t even feel the tears well up, doesn’t feel them run down his cheeks or feel his mouth fall open in shock; it’s only seeing the look on Jeremy’s face that brings him back to himself.
Jeremy had been trying to hurt him, and he’d succeeded; but he didn’t look at all happy with the results. For some reason, it’s only now that Gavin notices the bags under his eyes have become worse, eyes bloodshot and red with the tears welling up in his own eyes as well as he reaches out a shaking hand hesitantly, stopping halfway before he can touch him.
“That… That’s really what you think of me.” Gavin says, unsure himself if it’s a statement or a question. Probably both.
All these secrets, all these lies and half truths, how was Jeremy ever supposed to know any better?
How had he let things spiral?
“I-I didn’t-” Jeremy says weakly, hand reaching out again, but Gavin’s already reaching behind himself and scrambling to grab the doorknob, wrenching the door open and fleeing through it before he can touch him.
He can’t . He can’t do this anymore; how can he fix things with Jeremy when they’d been so fundamentally broken from the very beginning?
“ Colloportus !” Gavin casts at the door behind him, hopefully buying himself a few seconds so Jeremy can’t follow him as he sprints down the hallway, down the stairs and all the way back to the Hufflepuff common room. By the time he gets there he feels like he’s cried out for the night, the tears having long run dry, though the tightness in his throat and chest having only become worse.
He falls against the door once it’s shut behind him, closing his eyes and taking a few breaths as he fights back the headache he feels coming on. Luckily, there’s no one else in here at the moment—probably all still down at dinner—so he can take a moment to recover slightly, to catch his breath and sort through his emotions.
It’s such a mess he’s made, isn’t it? Going along with Jeremy’s assumptions for so long until it had become too late to tell him, until he’d started to fall in love and become worried that if Jeremy found out the truth, he wouldn’t feel the same, wouldn’t want whatever this relationship with Gavin is anymore. He’d never lied, never said ‘yep I’m a total slut, I’ve slept with loads of people!’, but he hadn’t exactly corrected Jeremy either, had he? How could he have? Jeremy only wanted to fuck him because he’d gotten fit over the summer break, because Gavin had started being a little less of a total dick.
If he’d told Jeremy he wasn’t a slut, it would have meant telling him his feelings, it would have meant risking everything they had because of course-
Jeremy doesn’t love him .
And if Jeremy doesn’t love him, then he wouldn’t want to keep doing whatever it is that they’re doing, would he? It’d be weird when Gavin’s in love with him and the feelings aren’t reciprocated, like leading him on. Jeremy wouldn’t do that.
What’s he supposed to do now? Whatever they have is already broken, has always been broken, so now what? There’s no way he can fix it.
He needs to sleep; it feels like he hasn’t rested in weeks—probably because he hasn’t, not properly, only getting a few hours every night, struggling to shut his brain off when he climbs into bed and waking up from stress dreams once he finally does manage to fall asleep. He feels like he’s running on empty, especially after everything that’s just happened.
So he goes back to his room, casts Colloportus on his door to discourage any unwanted visitors through the night (i;e, concerned friends that have been checking up on Gavin rather a lot these days), then crashes back onto his bed. He doesn’t change into his pyjamas, doesn’t even take off his bloody shoes, but the moment his head hits the pillow, he’s out like a light, feet still dangling off the bed.
He has a dreamless sleep, feeling as if he’d closed his eyes one second and opened them only a moment later, except hours have passed and out his window the sun has just started to poke above the horizon. Gavin’s been asleep for nearly, what, 12 hours? Merlin.
For nearly an hour he simply lays there, looking up at the ceiling with a sort of fuzz in his brain that makes it hard to grasp at any real thought. The time ticks by and he thinks about how he needs to get changed into new clothes, needs to have a shower and scrub all the grime off his body, needs to do something about these stupid hickies and about how he needs to fucking eat , blimey he’s hungry. Yet he doesn’t do any of those things, instead laying there, breathing and trying to figure out how to function again.
Eventually he does, forcing himself to stand up, going through the motions sluggishly until he’s ready for the morning. By the time he’s done it’s already 7:30, the sounds of students getting ready filtering through his door as he hears footsteps, shouting and laughing. Most of them are already heading off to the Great Hall for breakfast.
He feels like a zombie, following the masses to the Great Hall with his bag only half full of books that probably don’t match the classes he’s taking today, robes not even done up properly and hair almost completely untouched after the shower he’d taken. So does he look a complete state right now? Probably. Does he really care? No.
And then Gavin’s sitting at the Hufflepuff table, toast piled on his plate despite him not remembering placing it there, a glass full of orange juice he doesn’t remember pouring. It’s like being half-asleep, each moment slipping away from him as he simply goes through the motions.
“Hey Gavin,” It’s Matt’s voice that breaks him out of a trance-like state, the boy dropping his stuff onto the table before taking his seat opposite Gavin, “You look like shit.”
“Gee, thanks.” Is all Gavin can muster, his tone not coming off as energetic as he’d intended and he reaches down to pull the crust off his toast absentmindedly, needing something to do with his hands. Having someone to talk to at least brings him out of the haze a little, pulls him out of his own head.
“I really mean it!” Matt says as if he’d actually given Gavin a genuine compliment, reaching over to pile some bacon and toast on his place, then pouring a glass of pumpkin juice for himself.
He’s never really talked to Matt; he’s one of Jeremy’s friends, always off over at the Slytherin table (because obviously Jeremy couldn’t come sit at Hufflepuff’s with Gavin there), joining Jeremy’s little crew along with Lindsay and Alfredo. He used to share more classes with him before they started studying for N.E.W.T’s, but they’d never really talked much, even when they’d (rarely) get paired together, so he’s never really sure what to expect with him.
“You know,” Matt says, taking a sip of juice and the mirth disappearing from his eyes as he becomes serious for a moment, “Jeremy looks like shit, too, he’s the most miserable I’ve ever seen him,” he glances over at the Slytherin table and Gavin turns to follow his gaze, “you both are. I don’t like seeing him like this, Gavin. And I don’t like seeing you like this either, got it?”
When he looks over, his eyes lock onto Jeremy almost immediately. He doesn’t see Gavin looking, seemingly lost in thought as he stares down at his sausages with a blank look, his eyes even darker than they’d been yesterday.
Maybe it’s the timing of it all, maybe after last night it just makes things clearer, or maybe it’s just the way Matt says it, in simple, plain terms, leaving no room for argument. They’re both miserable.
They’re both miserable.
He stands up from the table with a start, clambering over the bench and nearly tumbling right over it. “Thanks Matt.” He says as an afterthought, deciding he’d talk to him more later, after he goes and sorts everything out with Jeremy properly this time.
He can’t break something that’s already broke, right?
“You’re welcome.” Matt says with a shake of his head, though more to himself than Gavin since he’s already gone, already halfway across the Great Hall and coming to a stop in front of Jeremy at the Slytherin table.
“Hey,” he says, watching Jeremy’s head snap up to stare incredulously at him, “we need to talk. Come on.”
Then he turns on his heel, Jeremy actually tumbling over the bench in his haste to get up and follow Gavin, quickly righting himself before jogging to catch back up. They leave the Great Hall, then keep walking, Gavin himself unsure of where he’s actually taking Jeremy, but figuring they’d eventually find somewhere private enough to talk.
They move in silence, Gavin because he's afraid once he starts talking he won’t be able to stop, even if he doesn’t want to spill his guts out with an audience listening in, and Jeremy probably because he’s too scared to say anything that might ruin this chance to fix things.
And then they come across this old storage room, dust and cobwebs lining the shelves but otherwise entirely empty. It’ll do, he doubts anyone has set foot in this room for at least a few years, so they shouldn’t have problems with any eavesdroppers. He shuts the door behind them and takes a quiet breath to collect himself.
“ Lumos! ” He hears Jeremy say quietly, and then the little room is filled with a soft, white light.
Well, at least they can actually see each other now.
For a long moment they just stare at each other, Gavin wringing his hands and shuffling a little nervously while Jeremy patiently waits to hear whatever he has to say.
“Gavin-” “Jeremy-” They both start to speak over each other and Gavin goes a little red as Jeremy scratches the back of his head sheepishly, both of them looking away again.
“Jeremy,” Gavin starts again, taking a deep breath to settle his nerves, “look, I’m going to be honest, I have a lot I need to say and I’m just gonna need you to sit here and listen, no interruptions, okay? I promise, once I tell you everything you can say whatever you want but just-just hear me out first, yeah?”
Jeremy looks like he wants to say something, but he just shoves his hands in his pockets and nods slowly, Gavin letting out a shuttered breath he didn’t know he was holding.
“Right. Look, I wasn’t-I wasn’t the one who started this, Jeremy, I mean, you have to realise that you were the one who kissed me and-don’t interrupt!” he says when Jeremy looks like he’s about to retort, “you kissed me and I-I never even said anything, you know? You were the one making assumptions all on your own, thinking I’m a slut when you’ve never even seen me kiss somebody else, let alone do any of the things people always say about me, I-”
He takes another breath as his heart beats a bloody Presto tempo against his ribs.
“I never said I was a slut, you know. That’s always just what people say about me and I tried to correct them, Jeremy, but nobody listened. Eventually I just… Leant into it, just to take some control and maybe so that they’d get bored or something, but that meant that the only people who knew were my friends, everyone else just… Believed it. You believed it, and… And you took my first kiss without even realising.”
There’s a sharp intake of breath and again Jeremy looks like he wants to say something, but Gavin holds up a hand, looking to the floor because he doesn’t know if he can keep going with that look on his face.
“And you never even asked , Jeremy, what I wanted, just assumed that I was a slut and that I’d just want to shag and then ditch you, right? And it’s not fucking fair because you’re the only person I’ve ever been with so-so if anyone is the slut here it’s you because you’ve been with so many people and you have so much experience and I felt like I was just struggling to keep up while you laughed at me because you thought I wasn’t trying. I was trying, Jeremy, harder than I’ve ever tried at anything else, because-”
The words get stuck in his throat and he has to swallow, tongue heavy in his mouth and his hands damp as he wrings them together.
“Because… I really liked you, Jeremy, and that’s why it hurt so much, hearing you call me a slut and basically telling me that I’m so shit in bed that you didn’t even want me to touch you, you were better off taking care of yourself rather than letting me-”
“-That’s not what that was!” Jeremy bursts out suddenly, “I’m sorry, I know you said not to interrupt but I can’t just let you think that I… That’s not what I was thinking at all, Gavin.”
He reaches out hesitantly, fingers brushing along Gavin’s arm and barely touching him, like he’s afraid he’ll scare him off.
“I… I really did think you were gonna get bored of me. It’s stupid in hindsight, knowing that everything I heard about you was wrong, everything I thought I knew, but I thought… It seemed like you weren’t trying, and now I know it’s just because you really didn’t know what you were doing, but at the time it seemed like you really didn’t want to-and I-I started thinking that if I could just please you, give you want and never ask for anything in return, it would be enough for me and you wouldn’t… Lose interest.” He finishes his rant softly, pulling back his hand and tearing his eyes away from Gavin as he admits the ugly truth.
“Oh, Jeremy…” Gavin whispers, blinking back tears as he reaches out just like Jeremy had, fingers laid carefully against his arm.
“We just-we just hated each other before, and when I saw you after we came back from summer break it was like ‘damn he got hot’ and I don’t know, we were both… Being nicer , teasing instead of fighting, flirting . But I was still working under the assumption that you-you didn’t want a relationship. You’d never had one, so I thought for sure you’d laugh me out of the room if I ever tried to ask you out seriously and I just… I just decided to kiss you, see where it went, you know?”
Jeremy takes a breath, then finally looks back up at him.
“At first it was fine; it was just attraction, just me wanting to kiss you because I thought you were hot, but then it kinda spiralled. I started to really fall for you and it just… Hurt , thinking you wouldn’t feel the same way, thinking I was just a convenient fuck and that’s all I would be, getting in my own head and thinking that I needed to make you want me. I never would have thought-” Jeremy’s voice breaks off and he presses his lips together, swallowing nervously as he looks away again.
“Jeremy, if you had’ve just asked .” Gavin whispers, pressing his fingers more firmly against his arm now.
“I know , I’m sorry, it was stupid.” Jeremy says, his hand coming to rest on Gavin’s wrist, though he still won’t look at him.
“No, no,” Gavin says softly, “it’s not your fault, I should have said something. I had every chance to correct you and I didn’t, I thought the same thing; you didn’t really like me, you just wanted to have sex and I knew that if I told you the truth, it would mean admitting my feelings and I really thought you wouldn’t feel the same way. We both should have just bloody communicated, Merlin.”
He laughs and wipes away some of the tears from his eyes with his free hand, looking back up at Jeremy and feeling like a million tonne weight has been lifted from his chest. Everything feels… Clearer, the edges of his vision becoming sharper and vivid.
Jeremy opens his mouth like he’s about to say something but Gavin cuts in suddenly, “Also legally you can’t make fun of me for being shit in bed anymore, since you’re literally the only person I’ve been with,” he laughs a little nervously, “so if you want me to be better, you’re going to have to teach me because I only know what to do from watching you. So you have to tell me what you like.”
His eyes dart away for a moment, then glance back to Jeremy. “ Basically ,” he says, “we’re idiots and we need to communicate a lot more, which is going to take a while, but… I’m willing to work on it. If you still want me, after all of this.”
“You…” Jeremy says softly, “ You still want me ? Even after all the horrible shit I said to you?” He asks in a disbelieving tone, his fingers squeezing Gavin’s wrist.
“Of course, you dope,” Gavin laughs a little wetly, “you were just lashing out because I made you feel like-like I didn’t want you. Like I said, we need to communicate more, but… Yeah, I… Love you, Jeremy.” And saying that is still so nerve-wracking, like he still can’t believe that Jeremy would feel the same even after all that he’s just said.
“ Fuck ,” Jeremy whispers, then starts a little like he hadn’t realised he’d said it out loud, “I love you too, Gavin… And I’m so sorry for everything I said, sorry for hurting you when all I wanted was-”
Gavin leans down and presses their lips together softly, shutting Jeremy up pretty effectively as they both smile and cry into the kiss. He hadn’t even noticed the tears welling up in Jeremy’s eyes, but now he tastes the salt on his tongue, feels every shuttered breath on his lips and hears every little sniffle.
“Oh Jeremy,” he pulls back a little and cups his cheek, swiping away a tear with his thumb, “all is forgiven, yeah? For both of us, right?”
“Of course ,” Jeremy answers immediately, his own hands coming up to cup Gavin’s cheeks as well as he leans up to press their foreheads together, “all is forgiven.”
And then they’re kissing again, holding tight onto each other like they’re afraid if they let go, it won’t be real. Gavin still isn’t sure that it really is.
All this fucking drama over some dumb miscommunication and fueled by both of their low self-esteems.
They could have been together and happy for months .
“So,” Jeremy says once they do eventually pull away from each other, “what happened to those hickies I gave you yesterday, then? I’m honestly a little hurt you covered them up.” He teases and Gavin has to roll his eyes.
“I had to use a concealment charm—which was really annoying by the way—,” Gavin pokes Jeremy’s chest teasingly, “to cover them up, because otherwise it just gives people the wrong idea. That’s why I always told you never to leave any marks; it just makes people notice, makes them gossip and actually gives them proof that I am a slut, even though you’re the only person I’ve been with.”
“Oh,” Jeremy says, then winces, “that makes sense, fuck, I feel like such an asshole.”
“You are,” Gavin agrees, then kisses him, “but I still love you.”
And then they’re back off kissing again, this time laughing and holding each other gently, assured now that they’re not just dreaming.
~
“Fucking finally ,” Fiona’s the first to say it when they announce their relationship to their friends, “we can all hang out together instead of sneaking behind your backs like little kids.”
And Gavin and Jeremy just look at each other, confused, then look back out at all their friends.
“What do you mean?”
“She means you guys are assholes who never got along, so we could never hang out with you together!” Michael explains and the others all nod in agreement.
“Yeah, we all actually like each other,” Lindsay adds, moving to jump in between Michael and Fiona on the other couch and wrapping her arms around both of them, satisfied, “but you guys were always jerks! Now we can actually be normal friends, even if it means we have to see you guys be all lovey and gross now.”
They’re in the Hufflepuff common room, just back from dinner and all their friends are squished together on the couches as Jeremy and Gavin stand in front of them for their announcement. It all seems a little silly now; they’d expected a bit more of a reaction, but everyone seems… Happy. Happy for them and happy to be able to hang out with each other.
“We’re not gross!” Gavin pouts and Ryan makes an awful retching noise when Jeremy laughs with everyone else and kisses him on the cheek.
It’s definitely very silly, but they fall back to the couch together with Gavin still pouting and Jeremy comforting him while still laughing along with the others and it just feels… Right. Like they should have been like this years go.
Probably because they should have been like this years ago. So much wasted time.
Still, he can’t feel too upset when he’s surrounded by all their friends and curled up in Jeremy’s arms.
~
The good thing about being official now is that they don’t have to hide anymore, don’t have to sneak around. Gavin had decided almost immediately that everyone else can go fuck themselves as far as he’s concerned, can think whatever they like about Gavin now because the important people know the truth. He loves Jeremy, the only person he’s ever been with, and he won’t ever let anyone get in the way of that.
And the good thing about not having to sneak around anymore is that they can just be blatantly affectionate. Gavin can hold Jeremy’s book above his head while they’re studying to ransom him for kisses, ignoring the disgusted groans of all their friends around them. He can drape himself across his back when he’s tired, using Jeremy as an armrest and listen to him complain but make no movement to shove him off.
Jeremy can wrap his arms around his waist, can snag him when Gavin’s about to come sit down next to him and pull him into his lap, can kiss him senseless, run his fingers through his hair as his other hand settles on his hip.
The best thing is that they can sneak off together, knowing that everyone will know exactly what they’re up to, but uncaring. They can lock themselves in Gavin’s room, a quick silencing charm casted before Jeremy’s got him pressed firmly into the bed—and dear Merlin is it nice to actually be able to do this on something soft, finally—and his mouth on Gavin’s neck because he’s finally allowed to leave marks wherever he likes.
He’s probably got a million hickies on him by now, Jeremy a little overeager and planting them all along his neck, his chest, stomach, thighs, anywhere he can reach.
“Gav,” he whispers into his skin with such reverence that it has Gavin seeing stars, “Gav, can I-?” His hands wrapped gently around his throat, now, their lips planted firmly together as Jeremy toys with the waistband of his trousers.
“Bloody yes , Jeremy. Get them off me right now .” He groans, shuffling his hips to help Jeremy pull them down and off his legs, then grabbing him by the back of his neck and yanking him into another kiss.
“Bossy.” Jeremy simply laughs, biting down on Gavin’s lip before pulling back and fumbling with his belt. Eventually he manages to pull it off and chuck it across the room, shucking off his own trousers as well before leaning back down and pressing himself right against Gavin’s length.
He gasps at the feeling, canting his hips up to try and get some more friction through the cotton of his boxers before Jeremy’s pressing his fingers into his hips, holding him still as he slowly, slowly rocks against him, grinning against his collarbone as he lays wet kisses upon his skin. It’s maddening; the slow pace of Jeremy’s movements and the barely-there friction that has him desperate to push up against Jeremy’s hands and try to get more.
“Jeremy, I swear to Merlin if you don’t-” he breaks off into an embarrassingly needy moan as Jeremy’s lips wrap around one of his nipples, back arching up off the bed as he struggles under his grip.
“Sorry, what was that?” Jeremy purrs, licking over the abused area and smirking up at him like a goddamn wolf about to eat it’s meal, “I didn’t quite hear you.”
He gasps when Jeremy presses his hips more firmly against him, picking up the pace for just a few seconds before returning to how it was before, teasing him, trying to make him desperate.
It’s working.
“Please,” Gavin whines with a broken voice, fingers curled tightly into the pillow beneath his head, “please, please, please Jer. Need more. Need you.”
“Shh,” Jeremy hushes him, leaning up to capture his lips in another kiss before pulling back to look down at him, “you wanna try it again?”
Gavin looks up at him and swallows, unable to resist when Jeremy’s got that dark look in his eyes.
He nods slowly, then flips them over, giving Jeremy a long, slow kiss before he starts shuffling down his body. See, Gavin’s not really great at all this stuff, knows how to make himself feel good, but when it comes to Jeremy… Well, he needs guidance.
He settles in between Jeremy’s thighs, smiling up at him when Jeremy curls a hand in his hair and licks his lips in anticipation. It’s definite motivation, seeing his boyfriend all worked up and ready for him. “Just relax and let me take care of you, love,” he whispers, hooking his fingers into the waistband of Jeremy’s boxers, then slowly tugging them down, “and just pull if I do something wrong.”
And Jeremy’s guiding his head into a slow rhythm, hips twitching underneath Gavin’s fingers but never moving more than that for fear of triggering his gag reflex. Pretty quickly he’s panting, entire body flushed red from Gavin’s ministrations, a droplet of sweat running down from his cheek to his jaw, then down his neck. Just seeing it is enough to excite Gavin into picking up his pace, bobbing his head quicker and quicker and further and further until he feels the tip hit the back of his throat and he comes spluttering off.
“You alright?” Jeremy asks as Gavin coughs, sitting up on his elbows a little to look down at him, “Gav, don’t push yourself, just take it slow babe.'
He nods, smiling up at him and tilting his head a little to kiss Jeremy’s wrist before diving back down again, taking it a little slower and trying to work his tongue a little like Jeremy had said. He bobs a steady pace, sucking and licking around the head of Jeremy’s circumcised cock as he uses his fingers to get at the rest of what he can’t reach with his mouth, since Jeremy’s so fucking large.
“Just like that, Gav,” he sighs, closing his eyes and pushing his head hard against the pillows, “ah! Watch your teeth.”
He hums around him in apology, then continues on, listening to all of Jeremy’s instructions, his requests, seeming to give his best performance yet as Jeremy’s quickly tumbling over the edge, the grip on his hair tightening as he rocks his hips into Gavin’s mouth and cums down his throat.
“Fuck, fuck, fuck,” he chants, releasing Gavin’s hair slowly as he lowers his hips back to the bed, panting as he pulls him up to plant a firm kiss on his mouth, “did so good, Gavin, so much better than last time.” And he flushes under the praise, kissing him back with just as much enthusiasm as Jeremy’s hand pushes into his boxers and starts quickly stroking him.
It’s an embarrassingly short amount of time before he’s spilling into Jeremy’s hand, trembling as he holds himself above him and gasping to catch his breath while Jeremy’s hand retracts from his pants, then wipes against the sheets.
“Jeremy, no!” Gavin whines, “I just changed these!”
He just laughs, leaning up on one elbow to kiss Gavin again, then pulling him down to lay next to him and wrapping him up in his arms. “Sorry.” He mumbles into Gavin’s shoulder, not sounding sorry at all.
Gavin sighs, shuffling a bit to get comfortable before settling down against Jeremy’s chest. “I suppose I can forgive you,” he says dramatically, looking back up at him and grinning, “so I did good?”
Jeremy cards his fingers through Gavin’s hair and smiles down at him fondly before saying, “Yeah, you did good, Gavvy, real good. You’re getting better everyday.” And Gavin grins even widers, laying his head back down against Jeremy’s chest before closing his eyes and listening to his heartbeat for a moment.
“Good,” he says softly, pleased with himself, “love you, J.”
“Yeah, love you too Gav. Even if you are a shitty slut.”
“ Jeremy !”
