diff --git a/src/mol-plugin/spec.ts b/src/mol-plugin/spec.ts
index 7bf04bddd14148068cb7d80d093878dca51b88ca..0a6eb41fe33d5e2e6a49c49a5d97e4e6dd63ec05 100644
--- a/src/mol-plugin/spec.ts
+++ b/src/mol-plugin/spec.ts
@@ -9,6 +9,7 @@ import { StateTransformer, StateAction } from '../mol-state';
 import { StateTransformParameters } from './ui/state/common';
 import { PluginLayoutStateProps } from './layout';
 import { PluginStateAnimation } from './state/animation/model';
+import { ParamDefinition as PD } from '../mol-util/param-definition';
 
 export { PluginSpec }
 
@@ -40,8 +41,11 @@ namespace PluginSpec {
         defaultParams?: any
     }
 
-    export function Behavior<T extends StateTransformer>(transformer: T, defaultParams?: StateTransformer.Params<T>): Behavior {
-        return { transformer, defaultParams };
+    export function Behavior<T extends StateTransformer>(transformer: T, defaultParams: Partial<StateTransformer.Params<T>> = {}): Behavior {
+        const params = transformer.definition.params
+            ? PD.getDefaultValues(transformer.definition.params(undefined, undefined))
+            : {}
+        return { transformer, defaultParams: { ...params, ...defaultParams } };
     }
 
     export interface LayoutControls {