diff --git a/code/functions/SCDconf_createstructfrombus.m b/code/functions/SCDconf_createstructfrombus.m
index dc8b2354423a74578f6f1a896d548e0e3c73e841..63d4f29c41c5847c6d0745af8395edfc45771c41 100644
--- a/code/functions/SCDconf_createstructfrombus.m
+++ b/code/functions/SCDconf_createstructfrombus.m
@@ -5,9 +5,19 @@
 % and with zero data of the correct kind
 % This is enough for passing a ctrl-D with from Workspace bus kind blocks
 
-function [out] = SCDconf_createstructfrombus(dd,busname)
+function [out] = SCDconf_createstructfrombus(varargin)
+% Create data structure matching a bus signature
+% From either a datadictionary+busname or from a bus directly
+% [out] = SCDconf_createstructfrombus(dd,busname)
+% [out] = SCDconf_createstructfrombus(bus)
 
-bus=dd.getEntry(busname).getValue; % get from data dictionary
+if nargin==1
+  bus = varargin{1};
+else
+  dd = varargin{1};
+  busname = varargin{2};
+  bus=dd.getEntry(busname).getValue; % get from data dictionary
+end
 bussize=size(bus.Elements);
 signalssize=bussize(1);