diff --git a/src/main/java/org/elasticsearch/action/termvector/TransportMultiTermVectorsAction.java b/src/main/java/org/elasticsearch/action/termvector/TransportMultiTermVectorsAction.java
index e1f232bb758..4574004ab92 100644
--- a/src/main/java/org/elasticsearch/action/termvector/TransportMultiTermVectorsAction.java
+++ b/src/main/java/org/elasticsearch/action/termvector/TransportMultiTermVectorsAction.java
@@ -85,9 +85,13 @@ public class TransportMultiTermVectorsAction extends TransportAction<MultiTermVe
             }
             shardRequest.add(i, termVectorRequest);
         }
-
+        
+        if (shardRequests.size() == 0) {
+            // only failures..
+            listener.onResponse(new MultiTermVectorsResponse(responses.toArray(new MultiTermVectorsItemResponse[responses.length()])));
+        }
+        
         final AtomicInteger counter = new AtomicInteger(shardRequests.size());
-
         for (final MultiTermVectorsShardRequest shardRequest : shardRequests.values()) {
             shardAction.execute(shardRequest, new ActionListener<MultiTermVectorsShardResponse>() {
                 @Override
diff --git a/src/test/java/org/elasticsearch/action/termvector/MultiTermVectorsTests.java b/src/test/java/org/elasticsearch/action/termvector/MultiTermVectorsTests.java
index d8648c50c5a..fa2f0c7db86 100644
--- a/src/test/java/org/elasticsearch/action/termvector/MultiTermVectorsTests.java
+++ b/src/test/java/org/elasticsearch/action/termvector/MultiTermVectorsTests.java
@@ -23,8 +23,11 @@ import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.Fields;
 import org.elasticsearch.action.termvector.MultiTermVectorsItemResponse;
 import org.elasticsearch.action.termvector.MultiTermVectorsRequestBuilder;
+import org.elasticsearch.action.termvector.MultiTermVectorsResponse;
+import org.elasticsearch.action.termvector.TermVectorRequestBuilder;
 import org.junit.Test;
 
+import static org.hamcrest.Matchers.equalTo;
 public class MultiTermVectorsTests extends AbstractTermVectorTests {
 
     @Test
@@ -61,4 +64,12 @@ public class MultiTermVectorsTests extends AbstractTermVectorTests {
         }
 
     }
+    public void testMissingIndexThrowsMissingIndex() throws Exception {
+        TermVectorRequestBuilder requestBuilder = client().prepareTermVector("testX", "typeX", Integer.toString(1));
+        MultiTermVectorsRequestBuilder mtvBuilder = new MultiTermVectorsRequestBuilder(client());
+        mtvBuilder.add(requestBuilder.request());
+        MultiTermVectorsResponse response = mtvBuilder.execute().actionGet();
+        assertThat(response.getResponses().length, equalTo(1));
+        assertThat(response.getResponses()[0].getFailure().getMessage(), equalTo("[" + response.getResponses()[0].getIndex() + "] missing"));
+    }
 }