diff --git a/external/kafka-0-10-sql/pom.xml b/external/kafka-0-10-sql/pom.xml
index b96445a11f858223df895b8b54424500396fa021..ebff5fd07a9b9006993c5bbffcaa48090383beff 100644
--- a/external/kafka-0-10-sql/pom.xml
+++ b/external/kafka-0-10-sql/pom.xml
@@ -41,6 +41,20 @@
       <version>${project.version}</version>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.spark</groupId>
+      <artifactId>spark-core_${scala.binary.version}</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.spark</groupId>
+      <artifactId>spark-catalyst_${scala.binary.version}</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.spark</groupId>
       <artifactId>spark-sql_${scala.binary.version}</artifactId>
diff --git a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSourceSuite.scala b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSourceSuite.scala
index 64bf50305802743425af7a0c763cf1d124147e69..6c03070398fcaff057366966a9a794eff54463fb 100644
--- a/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSourceSuite.scala
+++ b/external/kafka-0-10-sql/src/test/scala/org/apache/spark/sql/kafka010/KafkaSourceSuite.scala
@@ -151,6 +151,7 @@ class KafkaSourceSuite extends KafkaSourceTest {
     val mapped = kafka.map(kv => kv._2.toInt + 1)
 
     testStream(mapped)(
+      makeSureGetOffsetCalled,
       StopStream
     )
   }
diff --git a/sql/core/pom.xml b/sql/core/pom.xml
index 84de1d4a6e2d1d6da6115e1eee22fa3af747ee05..7da77158ff07ed973c5cfb6af5d972db15c27bad 100644
--- a/sql/core/pom.xml
+++ b/sql/core/pom.xml
@@ -132,6 +132,33 @@
     <outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
     <testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
     <plugins>
+       <!--
+            This plugin forces the generation of jar containing sql test classes,
+            so that the tests classes of external modules can use them. The two execution profiles
+            are necessary - first one for 'mvn package', second one for 'mvn test-compile'. Ideally,
+            'mvn compile' should not compile test classes and therefore should not need this.
+            However, an open Maven bug (http://jira.codehaus.org/browse/MNG-3559)
+            causes the compilation to fail if catalyst test-jar is not generated. Hence, the
+            second execution profile for 'mvn test-compile'.
+      -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>test-jar-on-test-compile</id>
+            <phase>test-compile</phase>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>