diff --git a/component/libatlas/buildout.cfg b/component/libatlas/buildout.cfg
index 36d0170bacb7f3ea76bad3c73c74b19d1f51a175..8fc5a2be6d0cf32609eb9020305f6c388f0aad28 100644
--- a/component/libatlas/buildout.cfg
+++ b/component/libatlas/buildout.cfg
@@ -37,7 +37,6 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
 [libatlas]
 recipe = cp.recipe.cmd
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
-lapack_version = 3.5.0
 install_cmd =
   set -e
   mkdir -p ${:location}__compile__
diff --git a/component/libblas/buildout.cfg b/component/libblas/buildout.cfg
index 9d24c1b236481824d11d4073c717a4a217bf1b8d..999faebc4d5cc6e11c7c176b499f107d846c4308 100644
--- a/component/libblas/buildout.cfg
+++ b/component/libblas/buildout.cfg
@@ -3,6 +3,16 @@ parts =
   libblas
 
 
+[libblas-download]
+recipe = hexagonit.recipe.download
+filename = blas.tgz
+url = http://www.netlib.org/blas/${:filename}
+md5sum = 5e99e975f7a1e3ea6abcad7c6e7e42e6
+download-only = true
+mode = 0644
+location = ${buildout:parts-directory}/${:_buildout_section_name_}
+
+
 [libblas]
 recipe = cp.recipe.cmd
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
@@ -12,8 +22,7 @@ install_cmd =
   set -e
   mkdir -p ${:location}__compile__
   cd ${:location}__compile__
-  wget -nc http://www.netlib.org/blas/blas.tgz
-  tar xzf blas.tgz
+  tar xzf ${libblas-download:location}/${libblas-download:filename}
   cd BLAS
   ${:gfortran} -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f
   ar r libfblas.a *.o
diff --git a/component/numpy/buildout.cfg b/component/numpy/buildout.cfg
index 26e1091f2b6e531fff2859689c058a37355f8ba3..59602f8eac0ce157306e5c277a5674b019125848 100644
--- a/component/numpy/buildout.cfg
+++ b/component/numpy/buildout.cfg
@@ -21,8 +21,8 @@ branch = master
 git-executable = ${git:location}/bin/git
 
 
-[build-venv]
-dependency = ${prerequired-eggs:recipe}
+[numpy-build-venv]
+dependency = ${numpy-prerequired-egg:recipe}
 recipe = cp.recipe.cmd
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 install_cmd =
@@ -41,6 +41,7 @@ install_cmd =
   . ${:location}/bin/activate
   ${:location}/bin/pip install numpy
   ${:location}/bin/pip install Tempita
+  # look for numpy in buildout eggs, not in the virtualenv
   export PYTHONPATH=${buildout:eggs-directory}/numpy-${versions:numpy}-py2.7-linux-x86_64.egg
   cd ${scipy-repository.git:location}
   python setupegg.py bdist_egg
@@ -49,15 +50,16 @@ install_cmd =
 update_cmd = ${:install_cmd}
 
 
-[prerequired-eggs]
+[numpy-prerequired-egg]
 recipe = zc.recipe.egg
+# this must be installed before building scipy and scikit-learn
 eggs =
-  slapos.cookbook
+  ${lxml-python:egg}
   numpy
 
 
-[numpy-eggs]
-dependencies = ${build-venv:recipe}
+[numpy-dependent-eggs]
+dependencies = ${numpy-build-venv:recipe}
 recipe = zc.recipe.egg
 find-links =
     ${scipy-repository.git:location}/dist
diff --git a/component/numpy/software.cfg b/component/numpy/software.cfg
index deaf83039ae05e208fc26fcf05c5ebb729a57b3c..341a8f47e90079cc8193d75540e1e6eaaa40493f 100644
--- a/component/numpy/software.cfg
+++ b/component/numpy/software.cfg
@@ -6,7 +6,7 @@ extends =
   ../../component/numpy/buildout.cfg
 
 parts =
-  numpy-eggs
+  numpy-dependent-eggs
 
 [versions]
 numpy = 1.8.1
diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg
index 9b83c9d96550878e07754e1aa5731bc0dd7dd580..a9d5dd366c7dcb8961392fd1c70f38a506d8d86f 100644
--- a/stack/erp5/buildout.cfg
+++ b/stack/erp5/buildout.cfg
@@ -431,7 +431,7 @@ ZODB3-patch-binary = ${patch:location}/bin/patch
 [eggs]
 recipe = zc.recipe.egg
 eggs =
-  ${numpy-eggs:eggs}
+  ${numpy-dependent-eggs:eggs}
   ${mysql-python:egg}
   ${lxml-python:egg}
   ${pil-python:egg}