diff --git a/nomad/fsm.go b/nomad/fsm.go
index <HASH>..<HASH> 100644
--- a/nomad/fsm.go
+++ b/nomad/fsm.go
@@ -296,7 +296,7 @@ func (n *nomadFSM) applyDeregisterNode(buf []byte, index uint64) interface{} {
 		panic(fmt.Errorf("failed to decode request: %v", err))
 	}
 
-	if err := n.state.DeleteNode(index, req.NodeID); err != nil {
+	if err := n.state.DeleteNode(index, req.NodeIDs); err != nil {
 		n.logger.Error("DeleteNode failed", "error", err)
 		return err
 	}
diff --git a/nomad/fsm_test.go b/nomad/fsm_test.go
index <HASH>..<HASH> 100644
--- a/nomad/fsm_test.go
+++ b/nomad/fsm_test.go
@@ -225,7 +225,7 @@ func TestFSM_DeregisterNode(t *testing.T) {
 	}
 
 	req2 := structs.NodeDeregisterRequest{
-		NodeID: node.ID,
+		NodeIDs: []string{node.ID},
 	}
 	buf, err = structs.Encode(structs.NodeDeregisterRequestType, req2)
 	if err != nil {
fsm NodeDeregisterRequest is now a batch