diff --git a/.changeset/polite-planes-invite.md b/.changeset/polite-planes-invite.md
new file mode 100644
index 0000000..3dd8d7f
--- /dev/null
+++ b/.changeset/polite-planes-invite.md
@@ -0,0 +1,6 @@
+---
+'@nest-lab/or-guard': patch
+---
+
+Use `{strict: false}` when calling modRef.get() to ensure guards can come from
+other modules
diff --git a/packages/or-guard/src/lib/and.guard.ts b/packages/or-guard/src/lib/and.guard.ts
index c1cc699..3d04ae1 100644
--- a/packages/or-guard/src/lib/and.guard.ts
+++ b/packages/or-guard/src/lib/and.guard.ts
@@ -24,16 +24,18 @@ interface AndGuardOptions {
 
 export function AndGuard(
   guards: Array<Type<CanActivate> | InjectionToken>,
-  orGuardOptions?: AndGuardOptions
+  andGuardOptions?: AndGuardOptions
 ) {
   class AndMixinGuard implements CanActivate {
     private guards: CanActivate[] = [];
     constructor(@Inject(ModuleRef) private readonly modRef: ModuleRef) {}
     canActivate(context: ExecutionContext): Observable<boolean> {
-      this.guards = guards.map((guard) => this.modRef.get(guard));
+      this.guards = guards.map((guard) =>
+        this.modRef.get(guard, { strict: false })
+      );
       const canActivateReturns: Array<() => Observable<boolean>> =
         this.guards.map((guard) => () => this.deferGuard(guard, context));
-      const mapOperator = orGuardOptions?.sequential ? concatMap : mergeMap;
+      const mapOperator = andGuardOptions?.sequential ? concatMap : mergeMap;
       return from(canActivateReturns).pipe(
         mapOperator((obs) => {
           return obs().pipe(this.handleError());
@@ -61,7 +63,7 @@ export function AndGuard(
 
     private handleError(): OperatorFunction<boolean, boolean> {
       return catchError((err) => {
-        if (orGuardOptions?.throwOnFirstError) {
+        if (andGuardOptions?.throwOnFirstError) {
           return throwError(() => err);
         }
         return of(false);
diff --git a/packages/or-guard/src/lib/or.guard.ts b/packages/or-guard/src/lib/or.guard.ts
index 7f984c2..17fedf7 100644
--- a/packages/or-guard/src/lib/or.guard.ts
+++ b/packages/or-guard/src/lib/or.guard.ts
@@ -29,7 +29,9 @@ export function OrGuard(
     private guards: CanActivate[] = [];
     constructor(@Inject(ModuleRef) private readonly modRef: ModuleRef) {}
     canActivate(context: ExecutionContext): Observable<boolean> {
-      this.guards = guards.map((guard) => this.modRef.get(guard));
+      this.guards = guards.map((guard) =>
+        this.modRef.get(guard, { strict: false })
+      );
       const canActivateReturns: Array<Observable<boolean>> = this.guards.map(
         (guard) => this.deferGuard(guard, context)
       );