diff --git a/src/schematics/deploy/builder.ts b/src/schematics/deploy/builder.ts
index 6c8fd9075..7d3038d56 100644
--- a/src/schematics/deploy/builder.ts
+++ b/src/schematics/deploy/builder.ts
@@ -5,7 +5,8 @@ import {
 } from "@angular-devkit/architect";
 import { NodeJsSyncHost } from "@angular-devkit/core/node";
 import deploy from "./actions";
-import { experimental, join, normalize } from "@angular-devkit/core";
+import { experimental, normalize } from "@angular-devkit/core";
+import * as path from "path";
 import { getFirebaseProjectName } from "../utils";
 
 // Call the createBuilder() function to create a builder. This mirrors
@@ -29,7 +30,7 @@ export default createBuilder<any>(
     const project = workspace.getProject(context.target.project);
 
     const firebaseProject = getFirebaseProjectName(
-      workspace.root,
+      context.workspaceRoot,
       context.target.project
     );
 
@@ -37,7 +38,7 @@ export default createBuilder<any>(
       await deploy(
         require("firebase-tools"),
         context,
-        join(workspace.root, project.root),
+        path.join(context.workspaceRoot, project.root),
         firebaseProject
       );
     } catch (e) {
diff --git a/src/schematics/utils.ts b/src/schematics/utils.ts
index 840dd0d1d..b6093ef9f 100644
--- a/src/schematics/utils.ts
+++ b/src/schematics/utils.ts
@@ -57,11 +57,11 @@ export const projectPrompt = (projects: Project[]) => {
 };
 
 export function getFirebaseProjectName(
-  projectRoot: string,
+  workspaceRoot: string,
   target: string
 ): string | undefined {
   const { targets }: FirebaseRc = JSON.parse(
-    readFileSync(join(projectRoot, ".firebaserc"), "UTF-8")
+    readFileSync(join(workspaceRoot, ".firebaserc"), "UTF-8")
   );
   const projects = Object.keys(targets!);
   return projects.find(