diff --git a/cmake/PugsDoc.cmake b/cmake/PugsDoc.cmake
index 2be770b3a3163c6ea490413b0f73a1f4f828c82f..7718046e21b5de20bc5f4a6aeb5c451ca9757890 100644
--- a/cmake/PugsDoc.cmake
+++ b/cmake/PugsDoc.cmake
@@ -20,13 +20,10 @@ add_custom_target(doc DEPENDS userdoc)
 
 if (EMACS AND GNUPLOT_FOUND AND GMSH)
 
-  add_custom_command(
-    OUTPUT "${PUGS_BINARY_DIR}/doc"
+  add_custom_target(pugsdoc-dir
     COMMAND ${CMAKE_COMMAND} -E make_directory "${PUGS_BINARY_DIR}/doc"
   )
 
-  add_custom_target(pugsdoc-dir DEPENDS "${PUGS_BINARY_DIR}/doc")
-
   set(ORG_GENERATOR_FILES
     "${PUGS_SOURCE_DIR}/doc/lisp/build-doc-config.el"
     "${PUGS_SOURCE_DIR}/doc/lisp/share/pugs.el"
@@ -102,16 +99,10 @@ if (EMACS AND GNUPLOT_FOUND AND GMSH)
       FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
       @ONLY)
 
-    set_source_files_properties(
-      ${PUGS_BINARY_DIR}/build-pdf.sh2
-      PROPERTIES
-      GENERATED TRUE
-      HEADER_FILE_ONLY TRUE
-    )
-
     add_custom_target(userdoc-pdf DEPENDS pugsdoc-dir "${PUGS_BINARY_DIR}/doc/userdoc.pdf" "${PUGS_BINARY_DIR}/doc/build-userdoc-pdf.sh")
 
     add_dependencies(userdoc userdoc-pdf)
+    add_dependencies(userdoc-html userdoc-pdf)
 
   else()
     if (NOT LATEX_PDFLATEX_FOUND)
diff --git a/doc/userdoc.org b/doc/userdoc.org
index 8270c6076e9ef1f65e217c06da6722f0d8a0c02c..e9ba680359c371e480f525378931928127c1177d 100644
--- a/doc/userdoc.org
+++ b/doc/userdoc.org
@@ -21,6 +21,7 @@
 #+LATEX_HEADER: \usepackage{siunitx}
 #+LATEX_HEADER: \usepackage[table]{xcolor}
 #+LATEX_HEADER: \usepackage{colortbl}
+#+LATEX_HEADER: \hypersetup{linktoc = all, colorlinks = true, linkcolor = blue}
 #+LATEX_COMPILER: pdflatex --shell-escape
 
 #+LATEX_HEADER_EXTRA: \usepackage{amsmath}