diff --git a/source/f90/Makefile b/source/f90/Makefile
index e791ef72692e14ca5cfffd4c110f6916f9735329..b4dcf9337b915a34720a4b2267ad02a73b27fd06 100644
--- a/source/f90/Makefile
+++ b/source/f90/Makefile
@@ -4,7 +4,6 @@
 FC = gfortran 
 
 # fortran compiler options
-# FFLAGS = -O3 -ff2c -gw
 FFLAGS = -g -gdwarf-2 -fbounds-check -fcheck=all --coverage
 # gfortran version 4.8 does not know -fdiagnostics-color
 # safeguard for major version >= 5
@@ -44,14 +43,50 @@ eels: eels.f90 change_working_dir.o $(eelssubs) $(eelsmods)
 eels-boson: eels-boson.f90 change_working_dir.o $(eelssubs) $(eelsmods) $(bosonsubs) $(bosonmods)
 	$(FC) $(FFLAGS) -o eels-boson eels-boson.f90 change_working_dir.o $(eelssubs) $(bosonsubs)
 
+coverage: boson eels eels-boson
+	./eelsf90
+	./bosonf90
+	./eels-boson
+	
+	gcov change_working_dir
+
+	gcov bosonf90-boson
+	gcov doboson
+	gcov sicot
+	gcov sintr
+	gcov rcffi
+	gcov respon
+
+	gcov eelsf90-eels
+	gcov doeels
+	gcov fint1
+	gcov fint2
+	gcov fint3
+	gcov fun
+	gcov o1
+	gcov o2
+	gcov phint
+	gcov qrat
+	gcov quanc8
+	gcov queels
+	gcov seteps
+	gcov surlos
+	gcov usurlo
+
+	gcov eels-boson-eels-boson
+
 clean:
 	rm -f *.o
 	rm -rf *.dSYM
-	rm -rf *.mod
-	rm -rf *.so
+	rm -f *.mod
+	rm -f *.so
+	rm -f *.gcno
+	rm -f *.gcda
+	rm -f *.gcov
+	rm -f eelsou bosou
 	rm -f bosonf90   bosonf90.exe
 	rm -f eelsf90    eelsf90.exe
 	rm -f eels-boson eels-boson.exe
 
-.PHONY: all clean
+.PHONY: all clean coverage
 
diff --git a/source/f90/calltree.txt b/source/f90/calltree.txt
index 36a6d894fe1cefb1d38c070fd4d2d2ef572033f8..a24848031c5563e2ef4b3fcb48aa38efa9a622af 100644
--- a/source/f90/calltree.txt
+++ b/source/f90/calltree.txt
@@ -13,7 +13,7 @@ EELS
         surlos
         phint
     seteps
-    extend3
+    (extend3)
 
 BOSON
   change_working_dir