--- a/frames/framemul.m
+++ b/frames/framemul.m
@@ -23,6 +23,20 @@
     error('%s: Too few input parameters.',upper(mfilename));
 end;
 
+% Check for compatibility
+L1=framelength(Fa,size(f,1));
+L2=framelengthcoef(Fs,size(s,1));
+if L1~=L2
+    error(['%s: The symbol and signal lengths are incompatible.'],upper(mfilename));
+end;
+
+% This is not *strictly* necessary, but we cannot check that the symbol
+% is complex-valued in just the right way.
+if Fa.realinput && ~isreal(s)
+    error(['%s: For real-valued-input-only frames, the symbol must also ' ...
+           'be real.'],upper(mfilename));
+end;
+
 h=frsyn(Fs,s.*frana(Fa,f));