diff --git a/modules/effects/src/effects_feature_module.ts b/modules/effects/src/effects_feature_module.ts
index 80e947ef83..77cc6ae2ea 100644
--- a/modules/effects/src/effects_feature_module.ts
+++ b/modules/effects/src/effects_feature_module.ts
@@ -1,4 +1,5 @@
-import { NgModule, Inject, Type } from '@angular/core';
+import { NgModule, Inject, Optional } from '@angular/core';
+import { StoreModule } from '@ngrx/store';
 import { EffectsRootModule } from './effects_root_module';
 import { FEATURE_EFFECTS } from './tokens';
 
@@ -6,7 +7,8 @@ import { FEATURE_EFFECTS } from './tokens';
 export class EffectsFeatureModule {
   constructor(
     private root: EffectsRootModule,
-    @Inject(FEATURE_EFFECTS) effectSourceGroups: any[][]
+    @Inject(FEATURE_EFFECTS) effectSourceGroups: any[][],
+    @Optional() storeModule: StoreModule
   ) {
     effectSourceGroups.forEach(group =>
       group.forEach(effectSourceInstance =>
diff --git a/modules/effects/src/effects_root_module.ts b/modules/effects/src/effects_root_module.ts
index 62f4ddb959..279d985b70 100644
--- a/modules/effects/src/effects_root_module.ts
+++ b/modules/effects/src/effects_root_module.ts
@@ -1,4 +1,5 @@
-import { NgModule, Inject } from '@angular/core';
+import { NgModule, Inject, Optional } from '@angular/core';
+import { StoreModule } from '@ngrx/store';
 import { EffectsRunner } from './effects_runner';
 import { EffectSources } from './effect_sources';
 import { ROOT_EFFECTS } from './tokens';
@@ -8,7 +9,8 @@ export class EffectsRootModule {
   constructor(
     private sources: EffectSources,
     runner: EffectsRunner,
-    @Inject(ROOT_EFFECTS) rootEffects: any[]
+    @Inject(ROOT_EFFECTS) rootEffects: any[],
+    @Optional() storeModule: StoreModule
   ) {
     runner.start();