Index: mttroot/mtt/bin/trans/m/abg2cbg.m
==================================================================
--- mttroot/mtt/bin/trans/m/abg2cbg.m
+++ mttroot/mtt/bin/trans/m/abg2cbg.m
@@ -15,10 +15,13 @@
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % %% Version control history
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % %% $Id$
 % %% $Log$
+% %% Revision 1.12  1996/12/31 11:42:36  peterg
+% %% *** empty log message ***
+% %%
 % %% Revision 1.11  1996/12/07  17:10:48  peterg
 % %% Allows port SS at top level - ie takes it to be an ardianry SS at top
 % %% level.
 % %%
 % %% Revision 1.10  1996/12/04 21:48:55  peterg
@@ -127,15 +130,19 @@
 
   % Check compatibility - if ok copy port bonds to the internal bonds list.
   if n_port_bonds~=n_ports
     mtt_info(sprintf('%1.0f port bonds incompatible with %1.0f ports', ...
 	n_port_bonds, n_ports), infofile);
-  else % Copy the port bonds
+  else % Copy the port bonds -- but only if not set already
     for i = 1:n_ports      % The port SSs come first
       j = abs(components(i,1)); % Get the bonds attached to the ports
-      direction = -sign(components(i,1)); 
-      bonds(j,:) = direction*port_bonds(i,:);
+      direction = -sign(components(i,1));
+      for k=1:2
+	if bonds(j,k)==0 % causality not set yet - so copy.
+	  bonds(j,k) = direction*port_bonds(i,k);
+	end;
+      end;
     end;
   end;
 end;