The X90 has a split personality, both literally and figuratively. The literal part is that it’s split into two branches, the X90A and X90B. The figurative part is that the southern half of the route is fine, while the northern part of the route is so horrible. We’ll start on the southern end.

We’re not quite at the first stop, unfortunately.

I didn’t get to ride the bus from the very first stop, since I was walking from my G2 trip on its other branch that doesn’t run with the X90. Still, it’s not like I missed much – just a deviation to Stop & Shop and a deviation to the East Longmeadow Big Y. I boarded at one of the first street stops after that, and we headed down North Main Street.

Some houses on a side street.

There were pretty ugly businesses for a bit, but as soon as we entered Springfield, it was residential and the road was now White Street. We broke off from the G2 when it turned onto Belmont Ave, and there were bits of retail both at that intersection and at the one with Sumner Ave. There were more dense houses from there, as well as an elementary school.

That’s a nice median there!

We merged onto Allen Street, which made some twists and turns and went over a small river. There were some abandoned-looking factories here, then the street became Walnut Street and we passed some businesses. After that, there were a lot of dense houses and apartments, but businesses showed up in there too.

Some of the factories on Allen Street.

As we crossed State Street, we passed some businesses, as well as the buildings of Springfield Technical Community College. Next, we turned onto Lincoln Street, then Magazine Street, which became Armory Street. It was kinda weird and industrial around here.

Some scraps and what looks to be a church.

We went over some train tracks, then we crossed I-291 on a weirdly-shaped rotary thing and merged onto Liberty Street. We were now joined by the G3, and we would be running with that route for a while. Along here, there were businesses, auto shops, churches, and dense houses on the side streets.

An auto shop with houses behind.

Eventually everything but the houses left, and they started to get more spread out. There was a brief section of woods, then all of a sudden, the huge expanse of Springfield Plaza came into view. Of course, we deviated into it, and…oh God, did I mention this route has some of the worst PVTA Syndrome on the system? We were 9 minutes early. And this wouldn’t be the last time we would have to stop and wait at a timepoint!

I guess that means more time to admire this…uh…parking lot…

We finally left and returned to Liberty Street, which quickly became Broadway Street when we entered Chicopee. It was residential for a while, but there were some businesses at the intersection with Saint James Ave. For the first time, the two branches of the X90 split: the X90B went onto Grove Street, while I was on an X90A, so we just stayed on Broadway.

A parking lot for somethin’ or other.

The street was pretty diverse, with a park at first, then some dense houses, retail, a cemetery, and an apartment development, in that order. We rejoined the X90B (that was quick!) and headed onto the Deady Memorial Bridge over the Chicopee River. On the other side, we headed onto the wide Memorial Drive and zoomed past lots of trees.

What a view!

After going under I-90, we were absolutely surrounded by suburban businesses with parking lots. Time to deviate into some of them! First we served Chicopee Walmart, as well as Chicopee Marketplace. Next, we went over to the other side of Memorial Drive, ran around Chicopee Big Y, and finally arrived at the stop for it. Luckily we weren’t early, and we could just keep going.

The Big Y stop was right next to a hotel.

We travelled down a weird unnamed entrance road that took us all the way over to Montgomery Street. We quickly merged onto Granby Road from there, which featured a trailer park and an apartment development, then suburban houses for a bit. However, when we came back to Memorial Drive, all those businesses with parking lots came back.


Memorial Drive was really just those kinds of businesses for a long time. Sure, there was the occasional apartment development or shopping plaza to spice it up a bit, but it was still really really boring. We went around a rotary, then we passed houses for at least a little bit. Finally, we waited forever at a light to make a left turn onto Britton Street.

At least it’s kind of a change…

We turned onto Montcalm Street, which was residential, and we arrived at the Montcalm Heights Apartments stop, a major timepoint. After that, we turned back onto Memorial Drive, and…oh, that whole thing was a deviation? Now we have to take it all the way back to that second rotary? Oh…okay, then.

The backs of some houses.

Back at the rotary, we turned onto James Street, which was mostly just residential. We were joined by the X90B at Montcalm Street, and we both headed together down James. Eventually it got woodsy, then it became Syrek Street, with houses on one side and the Connecticut River on the other. There wasn’t a view, though.

Now there’s a view!

We entered South Hadley and the street became Main Street, but it didn’t last long. We curved around past a park, then we turned onto Bridge Street, taking us over the Connecticut River into Holyoke. The street went over a canal, then we turned onto (surprise) Canal Street. Here, we split from the X90B again – the B stays on Canal Street, while we turned onto Lyman Street, which was lined with various apartments.

Welcome to Holyoke!

We turned onto Race Street, and right next to the Holyoke Amtrak station, we turned onto Dwight Street. After two more canals and the Volleyball Hall of Fame, we made our way around to the Holyoke Transportation Center. Finally! That was a long ride. So that’s it, right? I don’t have to do the X90B, do I…?

OH NO!!!!!!!!!!!

The X90B takes a different route out of Holyoke, travelling down the main drag of the city. Well, we were one block over from the main drag on Maple Street, so it was less “main draggy,” but it was close enough. At the Holyoke Public Library, we turned onto Cabot Street, which became industrial after some apartments and a canal crossing.

The window was open, so these pictures came out great!

After a second canal crossing, Cabot Street had some businesses along it. Eventually we got really close to the bridge that would take us to the next part of the route if the X90B was planned with any kind of sense. But guess what? It’s not. Instead we turned onto Canal Street, which was literally just a stretch of abandoned factories. Good thing they deviated the bus to serve all this!


Eventually we rejoined the X90A and headed onto Bridge Street together. We stayed with the A on Main Street, Syrek Street, and James Street for a bit before turning off onto a unique section again. This was Montcalm Street, but it quickly became Prospect Street, and it was residential.

Getting a little more urban.
We passed an electric substation and merged onto Buckley Boulevard a little past there. This was woodsy, at least until we arrived at Chicopee Street – right across the Connecticut River from that bridge that we could’ve taken ten minutes ago! Sigh…well, we turned onto Chicopee Street, and it was everything from businesses to apartments to houses to old factories.
A mostly residential side street.
We went under I-391, turned onto Meadow Street and Grattan Street, and went over I-391! We were unique from other routes now, and it was mostly just a lot of suburban houses. There were some businesses at the intersection with Dale Street, and they continued intermittently from there. We went under I-90, and after a stretch of mostly houses, we reunited with the X90A at its bridge over the Chicopee River. We would be able to cross the river, right? Right?
NOPE. SO IT TURNS OUT THE X90B HAS TO DEVIATE TO SERVE THE CHICOPEE BIG Y AND WALMART! Now keep in mind, it’s not too hard for the X90A to do it, since all that stuff is on the way of that route. The X90B, meanwhile, has to actually travel way up there just to serve it and come back. Come on!!!!

That stupid hotel again…
We had to go up Montgomery Street to get there, which was mostly houses. We went under I-90, then turned onto that entry road to get to the Big Y. Arriving at the stop at 2:41, I assumed we would be able to just keep on going. Then I checked the departure time: 2:55. 14 minutes early? 14 MINUTES EARLY???? OH, OKAY, COOL, LET’S JUST WAIT HERE FOR A QUARTER OF AN HOUR.
Well, finally!
After that mess, we served Walmart and returned the way we came on Memorial Drive. We went over the bridge with the X90A, but there was one more split before we would be truly reunited. We turned onto Main Street, then Grove Street, along with the G1. Except…not quite. Whereas the G1 just stays on Grove, the X90B makes a one-block jog via Court Street and Church Street…then it just rejoins the G1! What could the route possibly be serving that’s worth a one-block deviation from the main road? Finally, we returned to the X90A on Broadway Street, and the nightmare was finally over when I got off at Springfield Plaza.
A northbound bus, with mine in the background. Both were early.
PVTA Route: X90 (Inner Crosstown)
Ridership: Honestly, having taken this route maybe three or four times, I have yet to ride it where there were more than seven people on the bus at once. The overall numbers match that observation, too – the route only gets about 19 people per trip. Sure, it’s only one below the threshold for a well-performing route, but when you consider how long the X90 is, it becomes apparent that this thing doesn’t get all that much ridership.
Pros: The route is fairly useful as a crosstown, connecting lots of dense areas to each other without the need to go via Union Station. It’s also pretty frequent, with service every half hour on weekdays and Saturdays (every hour on each branch), and every hour on Sundays. They recently cut Sunday service back to the Chicopee Big Y, which seems like a good decision based on the route’s ridership. It also means that on Sundays, the route goes from Big Y to Big Y, which is the most PVTA thing ever!
Cons: BOTH of the X90’s branches are problematic in their own ways. The X90A is annoying because it has that long deviation to the Montcalm Heights Apartments. The X90B, although it moves quickly enough that you feel like you’re going somewhere, is just a circuitous mess, and for no good reason. Also, on a more radical note, does the route really have to travel down Liberty Street? It’s just paralleling the G3, and it seems redundant to have the routes go alongside each other for so long.
Nearby and Noteworthy: Take your pick: Chicopee Big Y, or East Longmeadow Big Y! Okay, there are some other shopping plazas along here, as well as local businesses, but come on, it’s the PVTA – Big Y is all that matters!
Final Verdict: 5/10
This is a good route in theory, but gosh, are the branches bad! Between the two, though, the X90B is far worse because it just doesn’t serve anything – all it does is loop around itself on roads with either spaced-out houses or abandoned factories, not to mention it has that stupid one-block deviation from the G1. Honestly, if they cut the B and just ran the A, I don’t think too many people would be upset. As for paralleling the G3 on Liberty Street, I found a different route the X90 could take: Saint James Ave.

There are multiple advantages to this routing. Firstly, there are practically no neighborhoods that lose service; it’s only where there’s a single black line on the map, and most of that is industrial. Secondly, the Saint James Ave route passes the Springfield RMV, meaning the G3 could eliminate its new deviation there, which caused that route to lose frequency (we’ll be covering the G3 soon). Third, this route is slightly longer than the current one, so the schedule padding at Springfield Plaza would be at least a little smaller. Finally, it serves a pretty sizeable neighborhood of dense homes with no access to bus service! Seems like a win-win-win-win to me, but there’s probably some reason why it can’t happen. Oh well…it looks good on paper!

Latest MBTA News: Service Updates