Although org babel works exactly as you would expect it, sometimes you might forget. Here is a simple, simple examply so you can see it and believe it: * A :PROPERTIES: :noweb-ref: a-block :END: #+begin_src emacs-lisp ;; A ;; A ;; A #+end_src * B :PROPERTIES: :noweb-ref: b-block :END: #+begin_src emacs-lisp ;; B ;; B ;; B #+end_src * C :PROPERTIES: :noweb-ref: c-block :END: #+begin_src emacs-lisp ;; C_a ;; C_a ;; C_a <> <> ;; C_z ;; C_z ;; C_z #+end_src * D #+begin_src emacs-lisp :tangle ~/tmp/tmp.el :noweb tangle ;; D_a ;; D_a ;; D_a <> ;; D_z ;; D_z ;; D_z #+end_src * Tangled result #+begin_src emacs-lisp ;; D_a ;; D_a ;; D_a ;; C_a ;; C_a ;; C_a ;; A ;; A ;; A ;; B ;; B ;; B ;; C_z ;; C_z ;; C_z ;; D_z ;; D_z ;; D_z #+end_src The source is here: