diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 16fb06e35a..9549cf649f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -6426,11 +6426,10 @@ (define-public java-jdistlib
     (license license:gpl2+)))
 
 (define-public emacs-ess
-  ;; Latest release is old.  This is not the latest commit either due to bug
-  ;; reported here: <https://github.com/emacs-ess/ESS/issues/987>.
-  (let ((commit "24da603184ce39246611dd5b8602e769d7ebd5bf")
+  ;; Latest release is old.
+  (let ((commit "f45542e723d7415f5e22bcf39f25e31d055d168c")
         (version "18.10.2")
-        (revision "0"))
+        (revision "1"))
     (package
       (name "emacs-ess")
       (version (git-version version revision commit))
@@ -6441,7 +6440,7 @@ (define-public emacs-ess
                (url "https://github.com/emacs-ess/ESS")
                (commit commit)))
          (sha256
-          (base32 "0j98lv07nzwzd54d4dgcfz01wy5gj48m0mnirxzh5r45ik2myh1r"))
+          (base32 "088dd8mmsabpg639r08rv8kz6qzmlmgfvqln8k26h0szzrin01di"))
          (file-name (git-file-name name version))
          (modules '((guix build utils)))
          (snippet
@@ -6459,9 +6458,6 @@ (define-public emacs-ess
              ;; Stop install-info from trying to update the info directory.
              (substitute* "doc/Makefile"
                ((".*/dir.*") ""))
-             ;; Fix r-help-mode test.
-             (substitute* "test/ess-test-r.el"
-               (("\\(equal ess-help-object \"plot.default\")") "t"))
              ;; Avoid generating ess-autoloads.el twice.
              (substitute* "Makefile"
                (("all: lisp doc etc autoloads")
@@ -6471,30 +6467,44 @@ (define-public emacs-ess
                (("mkdir -p \\$\\(ESSDESTDIR)")
                 "$(MAKE) -C lisp install; $(MAKE) -C doc install")
                (("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/")
-                "$(MAKE) -C etc install"))
-             #t))
-         (patches
-          (search-patches "emacs-ess-fix-obsolete-function-alias.patch"))))
+                "$(MAKE) -C etc install"))))))
       (build-system gnu-build-system)
       (arguments
-       (let ((base-directory "/share/emacs/site-lisp"))
-         `(#:make-flags (list (string-append "PREFIX=" %output)
-                              (string-append "ETCDIR=" %output
-                                             ,base-directory "/etc")
-                              (string-append "LISPDIR=" %output
-                                             ,base-directory)
-                              (string-append "INFODIR=" %output
-                                             "/share/info"))
-           #:phases
-           (modify-phases %standard-phases
-             (delete 'configure)
-             (replace 'check
-               (lambda _ (invoke "make" "test")))))))
+       (list
+        #:make-flags
+        #~(let ((base-directory "/share/emacs/site-lisp"))
+            (list (string-append "PREFIX=" #$output)
+                  (string-append "ETCDIR=" #$output
+                                 base-directory "/etc")
+                  (string-append "LISPDIR=" #$output
+                                 base-directory)
+                  (string-append "INFODIR=" #$output
+                                 "/share/info")))
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-test-suite
+              (lambda _
+                (substitute* "test/run-tests"
+                  (("\\(setq ert-batch-backtrace-right-margin 130\\)")
+                   "(setq ert-batch-backtrace-right-margin nil)")
+                  (("\\(require 'ess-test-r-utils\\)" m)
+                   (string-append
+                    "(setq tramp-encoding-shell \"" (which "sh") "\")"
+                    m)))
+                (substitute* "test/ess-test-r-utils.el"
+                  (("/bin/sh") (which "sh")))))
+            (delete 'configure)
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  ;; Skip tests that require an internet connection.
+                  (setenv "TRAVIS" "true")
+                  (setenv "HOME" (string-append (getcwd) "/test/"))
+                  (invoke "make" "test")))))))
       (native-inputs
        (list perl r-roxygen2 texinfo))
       (inputs
-       `(("emacs" ,emacs-minimal)
-         ("r-minimal" ,r-minimal)))
+       (list emacs-minimal r-minimal))
       (propagated-inputs
        (list emacs-julia-mode))
       (home-page "https://ess.r-project.org/")
