--- a/filterbank/filterbankresponse.m
+++ b/filterbank/filterbankresponse.m
@@ -21,11 +21,15 @@
 definput.flags.plottype={'plot','noplot'};
 [flags,kv]=ltfatarghelper({},definput,varargin);
 
-gf=zeros(L,1,assert_classname(g));
+
+% G1 is done this way just so that we can determine the data type.
+G1=comp_transferfunction(g{1},L);
+gf=abs(G1).^2;
+
 M=numel(g);
   
-for m=1:M
-  gf=gf+abs(fft(middlepad(g{m},L))).^2;
+for m=2:M
+  gf=gf+abs(comp_transferfunction(g{m},L)).^2;
 end;
   
 if flags.do_real
@@ -34,4 +38,4 @@
 
 if flags.do_plot
   plotfft(gf,'lin');
-end;+end;