diff --git a/Makefile b/Makefile
index 079d82e..cb8ee1b 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,8 @@
 
 # Other repos with documentation to include.
 # edit the `git_refs` file with the commit/tag/branch that you want to use
-OTHER_REPO_DOCS ?= bbsim cord-tester ofagent-go openolt voltctl voltha-openolt-adapter voltha-openonu-adapter-go voltha-protos voltha-system-tests device-management-interface voltha-helm-charts
+OTHER_REPO_DOCS ?= bbsim ofagent-go openolt voltctl voltha-openolt-adapter voltha-openonu-adapter-go voltha-protos device-management-interface voltha-helm-charts
+# Temporarily disabled: cord-tester voltha-system-tests
 
 ifdef NO_OTHER_REPO_DOCS
   # Inhibit pulling in external repos.
@@ -55,7 +56,7 @@
 endif
 
 # Static docs, built by other means (usually robot framework)
-STATIC_DOCS    := _static/voltha-system-tests _static/cord-tester
+# STATIC_DOCS    := _static/voltha-system-tests _static/cord-tester
 
 # Why is existing source Makefile PHONY (?)
 .PHONY: help test lint reload Makefile prep
@@ -72,7 +73,7 @@
 ## Usage:
 ##   make reload
 ## -----------------------------------------------------------------------
-reload: $(venv-activate-patched)
+reload: $(venv-activate-script)
 	$(activate) && sphinx-reload $(SOURCEDIR)
 
 ## -----------------------------------------------------------------------
@@ -82,8 +83,8 @@
 test: lint linkcheck
 
 # [TODO] relocate into repo:onf-make/
-lint      : $(venv-activate-patched)
-linkcheck : $(venv-activate-patched)
+lint      : $(venv-activate-script)
+linkcheck : $(venv-activate-script)
 
 ## -----------------------------------------------------------------------
 ## Intent: Exercise all generation targets
@@ -156,17 +157,17 @@
 	GIT_SUBDIR=`grep '^$@ ' git_refs | awk '{print $$2}'` ;\
 	cp -r repos/$(@)$$GIT_SUBDIR $@ ;\
 
-# Build Robot documentation in voltha-system-tests and copy it into _static.
-_static/voltha-system-tests: | $(OTHER_REPO_DOCS)
-	make -C voltha-system-tests gendocs
-	mkdir -p $@
-	cp -r voltha-system-tests/gendocs/* $@
-
-# Build Robot documentation in cord-tester and copy it into _static.
-_static/cord-tester: | $(OTHER_REPO_DOCS)
-	make -C cord-tester gendocs
-	mkdir -p $@
-	cp -r cord-tester/gendocs/* $@
+# # Build Robot documentation in voltha-system-tests and copy it into _static.
+# _static/voltha-system-tests: | $(OTHER_REPO_DOCS)
+# 	make -C voltha-system-tests gendocs
+# 	mkdir -p $@
+# 	cp -r voltha-system-tests/gendocs/* $@
+#
+# # Build Robot documentation in cord-tester and copy it into _static.
+# _static/cord-tester: | $(OTHER_REPO_DOCS)
+# 	make -C cord-tester gendocs
+# 	mkdir -p $@
+# 	cp -r cord-tester/gendocs/* $@
 
 ## -----------------------------------------------------------------------
 ## Intent: generate a list of git checksums suitable for updating git_refs
@@ -183,7 +184,7 @@
 ## -----------------------------------------------------------------------
 ## Intent: build multiple versions
 ## -----------------------------------------------------------------------
-multiversion: $(venv-activate-patched) Makefile | prep $(OTHER_REPO_DOCS)
+multiversion: $(venv-activate-script) Makefile | prep $(OTHER_REPO_DOCS)
 	$(activate)\
  && sphinx-multiversion "$(SOURCEDIR)" "$(BUILDDIR)/multiversion" $(SPHINXOPTS)
 	cp "$(SOURCEDIR)/_templates/meta_refresh.html" "$(BUILDDIR)/multiversion/index.html"
@@ -200,7 +201,7 @@
 ## -----------------------------------------------------------------------
 include $(ONF_MAKEDIR)/voltha/docs-catchall-targets.mk
 voltha-docs-catchall : $(voltha-docs-catchall)
-$(voltha-docs-catchall): $(venv-activate-patched) Makefile | $(OTHER_REPO_DOCS) $(STATIC_DOCS)
+$(voltha-docs-catchall): $(venv-activate-script) Makefile | $(OTHER_REPO_DOCS) $(STATIC_DOCS)
 	@echo " ** CATCHALL: $@"
 	$(activate)\
  && $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -208,7 +209,7 @@
 ## -----------------------------------------------------------------------
 ## Intent: Display makefile target help
 ## -----------------------------------------------------------------------
-help-targets-sphinx : $(venv-activate-patched)
+help-targets-sphinx : $(venv-activate-script)
 	@ echo
 	@echo '[HELP: Sphinx]'
 	$(HIDE)$(activate) \
