Work Text:
Frank throws himself onto his bunk with a loud thump.
It is currently insanely hot. Frank discarded his shirt the moment he stepped foot on the bus, and, for fuck’s sake, it has only been merely five minutes since then, but he feels like he has produced enough sweat to drown a fucking fish out of all animals.
Yes, Frank loves going on tour with his beloved band. He loves being on stage, he loves performing, he loves playing his guitar, showing off his skills to thousands of people. He loves how enthusiastic the audience always is, he loves the loud chants and louder claps. Hell, he had always dreamt of this. But, yes, Frank also hates it here right now, because it is in the middle of summer and it is burning like hell and the air conditioner of this crappy tour bus has the audacity to be broken. Such a convenient coincidence—Frank could not have asked for more, really.
They had someone take a look at it this morning already. And last morning. And last last morning. Frank was hopeful for the first time in three days, but this dude let him down again.
Frank sighs exasperatedly as he lies on his bunk, trying to kick his jeans off. The fabric is sticky with sweat, and it hits the floor with a soft thump. The bus floor is not the cleanest, obviously, but Frank couldn't care less. He runs his fingers through his damp hair, feeling completely worn out.
He is about to shut his eyes and try to get some sleep when Gerard enters the bus. He is wearing a tank top with short shorts, which is a pretty normal outfit, but Frank’s overheated brain decides not to be normal about it. Frank knows he shouldn’t be thinking of his best friend this way—trust him, he knows —but it’s hot outside, and he’s frustrated, and Gerard’s soft, pale skin is out there for anyone with eyes to look at.
Frank shuts his eyes, anyway. His brain cannot handle any more of this heat.
Sleep comes to him not-so-easily, but halfway through drifting off, he feels the mattress dip, then the heat of another person settles down next to him. Frank grunts, clearly annoyed that he got woken up by some asshole who decides that his precious bunk is to be intruded in this unbearable weather where two people cannot lie down in close quarters without leaving a whole tank of sweat behind. Without opening his eyes, he blindly reaches out, tapping on said person’s arm with a low grumble, wordlessly telling them to leave.
Before he can even register it, Gerard’s soft voice comes through.
“Yes, Frankie?”
Holy shit, Frank thinks. He opens his eyes immediately.
He is met with— fuck, why is Gerard lying so close to me? Frank can see his long eyelashes clearly. Said eyelashes are fluttering and Frank feels his heart flutter as well. Gerard’s long, wet hair sticks all over his face, a strand on his forehead, a strand on his cheek, another strand on his cheek, and Frank wants to brush them all behind his ears. His cheeks are flushed with the smallest hint of pink, probably because of how hot it is. The tank top leaves Gerard’s pale neck out in the open, and Frank is just a simple human—he is sure anyone who sees Gerard now would think about marking his soft skin up, subconsciously or not. His face looks sticky with sweat, and Frank’s stupid goddamn brain tells him to lick it clean. Frank doesn’t do that, of course, but he doesn’t manage to get anything out of his mouth for a moment either. He lies there, marveling at Gerard with his mouth slightly agape.
Gerard pokes his shoulder.
“Frank?”
Frank nearly jolts up from the bunk. He visibly flinges, as if ready to activate fight or flight mode. The tiniest touch from Gerard burns on his shoulder. The heat is driving me crazy, Frank thinks.
He manages to mumble, after another brief pause.
“I just wanted to ask why you are in my bunk.”
Gerard laughs breathily, running his fingers through his hair.
“Too lazy to climb up to mine.”
“It’s so fucking hot, Gee. Two people lying in the same bunk would probably end up with a- a sea of sweat.”
Frank tries to reason with Gerard’s stupid excuse. No way in hell he wants to lie here with Frank solely because of that, especially right now with this hellhole of weather, but Frank doesn’t want to overthink this. Everything is complicated enough as it is already. If he was to be honest, though, he doesn’t mind Gerard here that much. Even in this heat. And with all these feelings, or whatever.
“I’ll just take a short nap. Please?”
Gerard pouts, and Frank crumbles immediately. It cannot be that bad, can it?
Frank sighs in defeat.
“Fine. Just a nap. We will probably not have to shower by the time we wake up since we will have been completely soaked already.”
Gerard rolls his eyes at Frank’s sarcastic remark.
“You know I never shower anyway.”
“Fair enough.”
They fall into comfortable silence, save for the soft hum of the fan, which is doing nothing to help but blow even more hot air at them. Frank decides he kind of likes this. Gerard’s presence feels warm, the good kind of warmth that doesn’t necessarily contribute to his frustration at the moment.
Frank shuts his eyes once again.
—
He is woken up by the burning feeling of an arm around his waist. His whole body feels like it’s in flames.
Frank blinks his eyes open groggily, trying to take in what is happening. Oh, that’s Gerard’s arm around him. Gerard has always been snuggly despite all circumstances, so Frank isn’t not used to this. What he isn’t used to is the fact that there is a tent in his own goddamn boxers. Why is Frank half-hard just from having Gerard’s sweaty body pressed to his?
Frank curses internally. My body probably mistook the heat for adrenaline or whatever, he thinks. The cause of this doesn’t change the fact that this is happening, though. He stays awkwardly stiff under Gerard’s arm, not sure of what to do in this situation.
Should he wake Gerard up and use the I need to go to the toilet card? No, Gerard would probably see through him. His boxers aren’t doing a great job of hiding his arousal. That would be embarrassing as fuck, and also hard to explain without making himself sound like a creep who is so obsessed with Gerard that just his arm around his waist is enough for him to pop a boner. Frank may be just that, but he isn’t going to admit it to Gerard. Should he stay still and wait for his dick to soften? No, his dick is going to fucking burst in this heat, and he wouldn’t want his dick to burst, thank you very much. It’s not like he can make his boner go away with Gerard this close to him, skin touching skin. Should he give in to the temptation and jerk off right now? No, too dangerous. Gerard might wake up and it would be over for him. Seriously over.
But Frank happens to be stupid and reckless. He decides, Fuck it, and carefully moves his hand to the waistband of his boxers. He glances at Gerard, making sure the older man is still soundly asleep, then slips his hand inside. Having Gerard this close to him while masturbating is definitely going to his wank bank, and he wants to treasure every second of this, but he also needs to be quick with it, or else.
Frank bites back a moan when his own rough, sweaty hand touches his dick. The feeling of his hand feels dully familiar. The arm around him doesn’t, though, so it’s only normal that he starts imagining it’s Gerard’s hand around his dick instead. He fondles with the base of his cock, applying pressure just the way he likes it.
Frank lets his brain run wild, perhaps a little too wild. Gerard has huge hands, but his hands are unbelievably soft. Nice to hold, Frank thinks, even better if he’s holding my cock. He tries to ignore the roughness of his very own hand and replace it with the softness of Gerard’s. He has held Gerard’s hand several times, he knows how it feels like in his hand. What he doesn’t know is how it feels wrapped around his cock, tightening and moving up and down feverishly, maybe even rubbing his balls and teasing his tip. He can only wish.
Frank doesn’t realize he has been making certain lewd noises until he hears Gerard’s labored breathing next to his ear.
He stops dead in his track, completely petrified. He doesn’t even manage to pull his hand out of his boxers. He holds his breath, waiting for the inevitable look of disgust. It’s over. It’s over.
Gerard doesn’t do anything but let out a soft sigh. His arm is still steady around Frank, his eyes still half-closed. Frank can feel Gerard’s hardening dick brushing against the side of his thigh, and his brain short-circuits.
Gerard makes another sound, dangerously close to a moan this time.
“Frankie…”
The sound sends shivers up Frank’s spine. He stiffens for a brief second, not sure of what to do. His voice cracks a bit when he speaks up.
“Yeah?”
Gerard whispers breathily. “Touch me. Please.”
Frank feels his mind running a thousand miles per second with thoughts. Is he dreaming? Fuck it, if he is dreaming, then might as well make the most of this. As shocked as he is right now, and as messy as this situation is going to be later on, he chooses not to care. He is not going to turn down giving Gerard a handjob because of rationality. He is too far gone, and maybe he can even ask Gerard to give him a handjob in return, which is something he has been dreaming of.
Frank turns to face Gerard, slipping his own hand out of his boxers.
“Are you sure?” He asks anyway. Gerard whines, clearly annoyed by the unnecessary question—he whines and Frank is totally, utterly fucked.
“I’m more than sure. Fucking touch me, please, Frank.”
Frank takes a deep breath. Gerard moves his hand to hold onto Frank’s arm, his grip gentle. The touch burns, and Frank feels hot, almost like he’s about to burst. Gerard’s hand is sticky, his sweat mingling with Frank’s the moment their skin meets. Frank’s hand is shaky when he palms Gerard’s dick over the fabric of his shorts. Gerard immediately lets out a small sound of approval, nodding slightly, wordlessly beckoning him to go on.
Frank moves his hand around more confidently now that Gerard genuinely seems to be enjoying this as much as he does, given the noises he is making and the way his hips are twitching, as if they want to press further into Frank’s hand. He traces the outline of Gerard’s cock over the thin piece of cloth experimentally, rubbing more firmly here and there just to see how Gerard reacts.
Gerard grips his arm more tightly. With every deliberate movement, he moans quietly, grinding his cock into Frank’s palm, searching for more friction. He is clearly frustrated because Frank’s hand hasn’t dipped into his shorts yet.
“Frankie, please,” He whines again, “touch me. I need your hand, please.”
Frank chuckles almost teasingly. He is enjoying this way too much. He is going to jerk off a hundred times with this particular moment in mind.
“Okay, okay. Sorry for teasing you.”
Gerard scoffs in response, which quickly turns into a whimper when Frank finally slips his hand into his shorts. Frank touches Gerard’s dick, skin to skin, and he feels like everything is on fire. Gerard curls into himself, his damp hair nuzzling against Frank’s shoulder as he pants softly. Frank finds himself phasing out from the heat, the skin contact, everything.
Gerard urges him, his voice unsteady. “Frank, please…”
Frank lowers his face to look down at the small space between them and is met with Gerard’s dark mop of hair. He fucking smells. It’s alarming how much Frank likes this.
He starts putting his hand to work when Gerard suddenly interrupts, his hand slowly moving to Frank’s waistband.
“It’s only fair that you get off too… Frank, can-”
Gerard doesn’t need to finish his sentence, since Frank is already kicking his boxers off. He laughs dreamily, and Frank’s heart flutters, which is kind of ridiculous considering the situation he is currently in, he thinks.
Frank carefully removes Gerard’s shorts as well. For a brief moment, no one says anything, and dread starts to dawn on Frank—Gerard finally got out of his lusty haze, he is going to regret this, he is going to push Frank away, and it’s going to be over. Over as fast as the way it started.
Gerard does none of that. He just reaches a hand out, trying to grab both of their dicks.
Frank releases a breath he doesn’t realize he has been holding. He moans quietly when Gerard’s warm hand touches his cock. Their cocks rub together, creating the delicious friction Frank has been craving, and Gerard’s soft, huge hand— fuck. Gerard’s hand is on his dick, and it is applying pressure just the way Frank loves, and this is everything Frank has ever wished for.
He reaches his own hand out as well, firmly moving up and down alongside Gerard. Gerard scoots closer to him, hiding his face in the crook of Frank’s neck as his hand rubs their tips together intently. Both of them moan unabashedly, as Frank feels himself leaking precum already, mixing in with Gerard’s precum. In return, he grabs the bases of their cocks, applying some pressure as he jerks his hand frantically, and is rewarded with a string of quiet whimpers from Gerard.
Gerard lets out an obscene sound once more when Frank starts picking up the pace of his movements, feeling the familiar heat pool in his stomach.
“F-Feels so good, Frank…”
Frank struggles to form a coherent thought with his current state of mind. His voice is raspy from all the noises he has been making.
“Fuck, yeah, your fucking hand, Gee.”
Gerard replies with a loud moan, which goes straight to Frank’s cock. He is getting close already. Their hands work together in tandem; with the friction from both Gerard’s hand and his dick rubbing constantly against Frank’s, Frank is sure he cannot hold out much longer. Gerard’s soft palm keeps encircling his length, tightening at the right places, setting Frank’s body on fire. They both are sweating profusely, the wetness of their palms acting like a kind of lube, the suggestive sound of splashing echoing in the bus.
Frank pants breathlessly. “I’m close.”
Gerard whines incoherently in response, moving his hand even faster. He seems to be just as on edge as Frank. Frank lowers his hand, fondling around the base of their dicks. Lost in the moment, he whispers directly into Gerard’s ear.
“Come for me, Gerard.”
Gerard cries out in pleasure, cumming all over his stomach, the bed, Frank’s hand, and Frank’s dick. He dizzily bites Frank’s shoulder to stop the sound, and that is all it takes for Frank to follow suit.
“Fuck, Gee…”
Frank’s vision whites out from the intense orgasm. He cannot stop panting like a goddamn dog, unable to process what just happened.
Silence engulfs them for a brief second.
Gerard slowly detaches himself from Frank. Their bodies are sticky with sweat and cum. It is honestly so nasty, and Frank wasn’t lying when he said one could drown in sweat in this heat. Frank’s mind is nowhere near that problem now, though. He stares at the bottom of the upper bunk blankly, not sure what to say or to do. That was one fucking great handjob—now what?
Gerard sits up, his movement uncharacteristically stiff. He stands up from the bunk and doesn’t even look at Frank when he speaks.
“I’m gonna go take a shower.”
Frank sits up as well, looking at Gerard’s back as he makes his way to the bathroom on the bus. He doesn’t know what to make of this.
He knows Gerard hates showering. He also realizes, for starters, that they didn’t kiss at all.
