diff --git a/src/test/java/org/apache/commons/exec/issues/Exec65Test.java b/src/test/java/org/apache/commons/exec/issues/Exec65Test.java
index b4c3594..4b6301d 100644
--- a/src/test/java/org/apache/commons/exec/issues/Exec65Test.java
+++ b/src/test/java/org/apache/commons/exec/issues/Exec65Test.java
@@ -24,10 +24,13 @@
 import org.apache.commons.exec.ExecuteWatchdog;
 import org.apache.commons.exec.OS;
 import org.apache.commons.exec.PumpStreamHandler;
+import org.junit.Assume;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 
+import java.io.File;
+
 /**
  * Test to show that watchdog can destroy 'sudo' and 'sleep'.
  *
@@ -101,7 +104,8 @@
      */
     @Test(expected = ExecuteException.class, timeout = TEST_TIMEOUT)
     public void testExec65WithSudoUsingShellScript() throws Exception {
-
+        Assume.assumeFalse("Test is skipped on travis, because we have to be a sudoer "
+                + "to make the other tests pass.", new File(".").getAbsolutePath().contains("travis"));
         if (OS.isFamilyUnix()) {
             final DefaultExecutor executor = new DefaultExecutor();
             executor.setStreamHandler(new PumpStreamHandler(System.out, System.err, System.in));
