ByBrian Tallerico,
a film critic with over 20 years of experience covering movies and TV.He is the president of the Chicago Film Critics Association, the co-producer of the Chicago Critics Film Festival, and managing editor of RogerEbert.com.
Vera Farmiga as Norma, Freddie Highmore as Norman.
Photo: Cate Cameron/A&E
At Pineview Institute, Norman Bates (Freddie Highmore) has slowly come to terms with exactly who lives inside him, how he becomes “Norma” to protect himself. However, when he discovers that his mother, Norma (Vera Farmiga), married good Sheriff Alex Romero (Nestor Carbonell) while he was away, he plots his return to the Bates Motel. It’s beginning to look like this truly bizarre love triangle will be the season’s endgame.
Norman is meeting with Dr. Edwards (Damon Gupton) again, and he seems ready to walk through the darkness with his new guide. As the doctor says, “For things to get better, they have to feel worse first.” Not long after, we get an interesting overhead transition to Norma and Alex having sex in their bedroom, almost as if they’re in the same building as Norman and Dr. Edwards. They’re not, of course, but the show is foreshadowing how this relationship will dictate the last three episodes of the season, while also illustrating how Norman is intrinsically tied to his mother. It was risky of Bates Motel to separate Norman and Norma for the bulk of the season, and it’s essential to keep them connected with creative visual cues.
Soon enough, Norman is in arts-and-crafts class, building a dog with papier-mâché before his world comes crashing down. After a bit of chit-chat with Julian (Marshall Allman), Norman sees a torn-up newspaper photo of his mother … with her new husband. Uh oh. Remember: Norman didn’t know mom got hitched while he was away. There’s no way this is going to end well. No one comes between this boy and his mother.
Meanwhile, Norma wants to make new curtains. She’s exploring the basement where Alex stashed the money from the shooting of Bob Paris at the end of season three. Norma admits to money problems, and Alex decides it’s time to reveal that they won’t have any of those for a while. He argues that it’s better to put Bob’s evil money to good — karmic rebalancing — but, again, there’s no way this ends well, especially with Rebecca (Jaime Ray Newman) still able to sell Alex out. What if she talks about his involvement and the Feds start wondering where Norma got all this cash? It’s certainly not from the actual motel.
Norman makes a personal call home and Alex picks up. That’s it. Norman Bates has to come home. He thinks he can leave voluntarily — he did sign himself in, after all — but Pineview requires 72 more hours to assess his progress. He also finds out that Alex basically paid for him to be there. Could this season end with Norman killing Sheriff Romero? It feels like those pieces are being put into place — just imagine how furious he’ll be if he concludes that Alex helped put him away to “steal” his mother. Still, I’m not sure Bates Motel has the nerve to kill a major character. As much as I love Carbonell, it might be the right thing to do. The show could use a new spark for season five.
“There’s No Place Like Home” also spends a bit of time with Emma (Olivia Cooke), who has been sadly underdeveloped this year. She’s fighting with her dad about her mother. She wants to try to reconnect with Audrey, which will be tough, since Norman likely buried her behind the motel. She learns that Dylan (Max Thieriot) met her mother in the hospital waiting room (way back in the season premiere), but no one knows where she is. Dylan’s suspicion that she never left the Bates Motel is growing.
Rebecca goes to tell Alex that she’s leaving, under the guise of dropping off the newlyweds’ new checkbooks. The keys worked and she’s leaving town. Alex warns her that she’s being watched by the Feds, but she’s got a sick mother to see. I hope this isn’t the last of Rebecca. Newman is a good actress who deserves a meatier role.
Back at Pineview, Norman is in a creepy, sterile computer lab, working on his discharge letter when he should be in therapy. Dr. Edwards comes to check on him, noting that he could keep him institutionalized if necessary. Norman is cool, well-spoken, and convincing, noting that he wants to go on meds and go back to society with his mother. Will Dr. Edwards let him?
Dylan comes home to find Norma making jams and sewing curtains. I like this Ozzie and Harriet version of Norma Bates, who just listens to Bobby Darin’s “Beyond the Sea” as if nothing’s wrong. Of course, Dylan is ready to burst that bubble. Norma mentions that Norman wants to come home, and they both agree that’s a bad idea — but that’s not the urgent issue. Dylan has questions about Emma’s mom. Norma deflects, and Dylan gets direct: “Norman has a violent side. He does things and he doesn’t know that he’s done them.” Norma blows him off, reasserting that she won’t let Norman come home, even though she’s doing the same thing that got him in trouble in the first place: denying his role in a likely murder.
Norman has a vision of Alex and Norma having sex — yeah, he’s not quite ready to leave. Nevertheless, he tells Julian that he’s going home. The perpetual patient doesn’t buy it. But Norman knows that he can put on a façade that Julian cannot. “I’m not normal. But I’m also not like you,” he says. And the key line for understanding Norman Bates: “I know how to make the world see me as normal.”
As Dylan learns that Audrey never came home from the Bates Motel, Norma visits Pineview. After getting on the same page with Dr. Edwards — they agree that Norman needs to stay — she meets up with her son. He almost immediately confronts her: “Is this your idea or your husband’s?” When he pulls out the photo from the paper, the direction is great: Norma remains on the couch while Norman stands, a visual illustration that he has the upper hand. She claims the marriage was only for the insurance. The love triangle between mother, husband, and son is about to get really weird.
Dylan shows Emma her mother’s letter, and Emma makes a faulty assumption that stretches logic. We learn that Audrey has been broke and come looking for money before. Based on the simple fact that Audrey’s phone is turned off, Emma assumes that she’s being evicted. So what if no one has seen her? She’s probably just on the run for money again. She takes the clues as a sign of desperation, not murder. The look on Dylan’s face suggests he knows better.
Norman is working on his dog sculpture when Dr. Edwards tries to figure out why he wants to leave so badly. What if the blackouts keep happening? Gupton is very good at selling Dr. Edward’s genuine concern for Norman. He knows that Norman disassociates to protect a good person. If he leaves, how will he ever fix that problem? Norman is taking his meds, and promises to use the doctor and Norma for support. Is this the act he told Julian he could pull off? Highmore plays it both ways — with both honest emotion and manipulative scheming. The line is blurry, though he flashes a look of smug satisfaction when Dr. Edwards leaves.
Norma comes home to find that Alex bought them a big TV, plus DVD copies of A Fistful of Dollars and The Third Man. She tells Alex that she gave Norman permission to come home. He looks like his dog just died. She adds that she told Norman they only got married for the insurance. He’s disappointed, but gets it. She’s open and honest with Alex in ways she’s never been with others. This can’t end well.
As ominous music plays, Norman gets ready to leave Pineview. It’s an interesting scene that starts with Norman in the mirror, reflecting his split personality, then transitions through Pineview to the door, and finally fades to the iconic steps below the house above Bates Motel. Is the Norman from Psycho coming home?
Other Notes:
A round of applause for Carbonell, who pulls double-duty as actor and director in this week’s strong, atmospheric, ominous episode.
Let’s talk about that letter for a second. Audrey tried to give it to Norma. Why would she keep it after she suspected Audrey was dead? If she didn’t, and Norman kept it, why would he hide it? He doesn’t think he did anything to Audrey. Kind of a plot hole.
Here’s another one: Would Alex really give Norma dirty money? He knows the Feds are looking into Bob Paris’s disappearance and might wonder how Alex’s new wife got so rich. Then again, the cops in White Pine Bay are really bad at their jobs.
Sarah Boyd’s editing is really tight throughout this episode — fluid and consistent.
Finally, props to Gupton, who has really nailed the way therapists speak. Even his body language captures the character well. He’s been a great addition.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]