Submitted by Tornado Dragon
Fluke locates Carol and Brian, the wife and son he had in his former life as Thomas, and he re-enters their lives as their pet. However, when Jeff – his old friend and business partner – visits them one night, Fluke attacks him because he thinks that he caused the car accident that killed him, based on broken recollections of his past life. Fluke is put outside and Jeff calls the cops so they can deal with him, but he hides from them when they arrive. Brian sneaks him into his room later on, and over the course of the night and into the morning, Fluke sees that Jeff has become a boyfriend to Carol and a father figure to Brian. He secretly follows Jeff to their old workplace and spends the day sitting in his old office, where more of his memories return and he bitterly realizes that he was a distant husband and father. That night, Jeff gets a call from Carol saying that Brian has vanished, undoubtedly having went out to find Fluke, and his health is at serious risk because he came down with a fever this morning and it is getting quite cold outside. Jeff leaves in his car to go look for him, unaware that Fluke is hiding in the back seat.
While going along a country road, Fluke surprise-attacks Jeff and makes him crash, but then he suddenly remembers how his human self truly died: After Thomas had a heated argument with Jeff at work, Jeff took off in his car. Thomas followed after him in his own to settle the argument, but he ended up crashing and dying after swerving off the road to avoid an oncoming truck, and Jeff tried in vain to resuscitate him. Now understanding that Jeff was always his friend, Fluke helps bring him back to consciousness, and Jeff – having apparently realized who Fluke is – tells him to find Brian. Fluke does so after getting a passing motorist to stop and help Jeff.
Fluke finds Brian at Thomas’ grave, having gotten accidentally locked in the cemetery while praying for his father’s spirit to help him find Fluke (Fluke deduced that he was there because he had actually heard the prayer), and he keeps his son warm until Carol comes driving through the gates, having figured out where Brian was through one of his drawings. After Carol puts Brian in her car to warm up, Fluke shows her through his headstone that he is Thomas before leaving her and Brian forever, having finally accepted that he can never go back to his old life in his new form, and he takes comfort in the fact that Jeff will be looking after his family now.
Fluke ends up on a farm somewhere far away, and one day, his deceased dog friend Rumbo shows up, having been reincarnated as a squirrel, and they have a happy reunion.
One day, Fluke (voiced by Matthew Modine, who also portrays Thomas, his human form) gets abducted by Sylvester (Ron Perlman) – a man he had bitten in retaliation for callously stepping on Rumbo’s (voiced by Samuel L. Jackson) tail while he and Rumbo were hanging around Bert’s (Bill Cobbs) barbecue bar days earlier – and taken to a cosmetics testing laboratory that Sylvester works at. The next day, Rumbo breaks in and frees him, but as they are making their escape, Sylvester shoots and mortally wounds Rumbo. When they stop by a lake in a forest to rest, Rumbo lies down on his side, and he indirectly tells Fluke that he is dying. Fluke refuses to accept this and tells him that they need to find Carol (Nancy Travis) and Brian (Max Pomeranc), the wife and son he had in his former life, because he believes that they are in danger based on another dream he recently had about them. Rumbo replies that things aren’t always what they seem, and he reminds him that there is no going back to his past life. Fluke then asks Rumbo if he was once a human like him, and despite denying it before, he finally admits that he was; the Navy sailor in the picture behind Bert’s counter was him in his previous life, and he was also Bert’s brother. He adds that, though he doesn’t miss being a human, he wishes he could smell the sea again (suggesting that he had died in the line of duty). He tells Fluke that he is the best friend he has ever had and hopes to see him again someday, then he dies.
Despite Rumbo’s words ringing continuously in his ears, Fluke decides that he cannot ignore his dream, so he makes the long journey to his family’s hometown of Hopewell and locates them. He eases his way back into their lives as their pet and has fun doing some things with them that he never really got to do while he was a human, and he tries to drop hints to them about his true identity. However, when his old friend and business partner Jeff (Eric Stoltz) pays a visit to the house one night, he almost immediately attacks him because he thinks that Jeff deliberately caused the car accident that killed him. Jeff and Carol get Fluke outside and call the police to come and do something about him, but Fluke hides from the officers when they arrive. Later on, rain starts to come down, and Brian goes out into it and finds Fluke and sneaks him into his bedroom. Sometime after Brian falls asleep, Fluke listens to Jeff and Carol through the door as they talk about the death of his human self and then kiss, and he watches Jeff tend to Brian the next morning while hiding under the bed, and he realizes that Jeff has assumed a role as both a boyfriend to Carol and a father figure to Brian.
Shortly after Jeff leaves the house that same morning to go to work, Fluke manages to sneak out and follow him to their old workplace. Fluke locates the office he once worked out of, and he sits in his chair and spends the day recalling more memories about his past life, and he bitterly realizes that he was a distant husband and father. At nighttime, the phone suddenly rings, and he hides when Jeff comes in to answer it. A distressed Carol is on the other end, and she tells Jeff that Brian – who has come down with a fever due to his exposure to the rain – has disappeared on her, undoubtedly having went out to find Fluke, and he is at risk of falling seriously ill because the temperature outside has dropped below freezing. Jeff tells her that he is leaving right now to go find him and hangs up, then gets in his car and drives off, unaware that Fluke has hidden himself in the back seat.
While going along a country road, Fluke surprises Jeff and attacks him again, causing the car to crash and injure him as well as causing Fluke to get thrown through the windshield. Thinking that Jeff will die and satisfied that he has gotten his revenge no matter what happens to him, Fluke suddenly remembers how his life as Thomas truly ended: After Thomas got into a very heated argument with Jeff at work over company matters and over Jeff’s belief that Thomas has stopped being himself, Jeff took off in his car, and Thomas followed in his own, determined to settle their dispute. He managed to pull up alongside Jeff’s car and demanded for Jeff to pull over, but an oncoming truck forced him to swerve off the road, and he crashed and killed himself. Jeff stopped his car to check on him and even tried to resuscitate him, but after realizing that Thomas was beyond all aid, Jeff wept profusely over his body. Now knowing that Jeff was a true friend to him, even after his death, the guilt-ridden Fluke jumps onto the hood of the car and licks Jeff’s face, bringing him back to consciousness just as snow begins to fall. After having seemingly figured out who Fluke actually is but holding no malice towards him, Jeff tells him to find Brian because he can’t be out in this weather. Fluke takes off to do just that, but not before getting a passing truck driver to stop and help Jeff.
Brian is shown sitting in front of his father’s gravestone at the local cemetery, and he asks for his father’s spirit to help him find Fluke. Suddenly, he gets accidentally locked in the cemetery by the caretaker, putting his health in real danger. Meanwhile, Carol looks at a drawing Brian recently made of Thomas’ grave and draws the conclusion that he must be there, so she drives over to the cemetery. Fluke gets there first, having heard Brian’s voice when he made his prayer and figured out that he was there, and he lays himself over his son to keep him warm until Carol drives through the cemetery’s gates and gets Brian into the car to warm up. Brian tells her that he had fallen asleep and dreamt that Fluke spoke to him, and he told him that he had to go away. Carol goes up to Fluke and beckons for him to come home with them, but he brushes away the snow around the bottom of his headstone and unveils the word “forever”, a word he often said to Carol back in his former life, and she speechlessly realizes that he is Thomas. Fluke then leaves his family forever, having finally accepted that what Rumbo told him was right; in this new form, he cannot fix the mistakes he made with his family in his old life and become the husband and father that they need.
Fluke narrates to the viewer why he made the decision to go away, and remarks that Jeff will now be there for his family in a way that he hadn’t been (Jeff is last shown giving Brian a new puppy). He adds that he didn’t know how to live as a man, and he doesn’t know how to live as a dog, but what he does know is that life is to be cherished in every form. He tells the viewer that perhaps he was made to remember his past life so that he could share this story with them, and perhaps there are many others like him, hiding behind the eyes of simple creatures – maybe even someone close to the viewer.
As Fluke rests under a tree on a farm somewhere far from Hopewell, he gets pelted with acorns from above. He looks up and discovers that Rumbo is back, having been reincarnated as a squirrel, and they have a happy reunion.