diff --git a/manager/scheduler/filter.go b/manager/scheduler/filter.go
index <HASH>..<HASH> 100644
--- a/manager/scheduler/filter.go
+++ b/manager/scheduler/filter.go
@@ -100,7 +100,7 @@ func (f *PluginFilter) Check(t *api.Task, n *NodeInfo) bool {
 
 	// Check if all network plugins required by task are installed on node
 	for _, tn := range t.Networks {
-		if !f.pluginExistsOnNode("Network", tn.Network.Spec.DriverConfiguration.Name, nodePlugins) {
+		if !f.pluginExistsOnNode("Network", tn.Network.DriverState.Name, nodePlugins) {
 			return false
 		}
 	}
diff --git a/manager/scheduler/scheduler_test.go b/manager/scheduler/scheduler_test.go
index <HASH>..<HASH> 100644
--- a/manager/scheduler/scheduler_test.go
+++ b/manager/scheduler/scheduler_test.go
@@ -901,9 +901,9 @@ func TestSchedulerPluginConstraint(t *testing.T) {
 						Annotations: api.Annotations{
 							Name: "testVol1",
 						},
-						DriverConfiguration: &api.Driver{
-							Name: "plugin1",
-						},
+					},
+					DriverState: &api.Driver{
+						Name: "plugin1",
 					},
 				},
 			},
PluginFilter should look at DriverState

Currently pluginfilter for network plugins is looking at
DriverConfiguration but that may be nil if the user did not pass a
driver option. Rather DriverState will always be populated.