diff --git a/openecomp-ui/test/nfvo-components/panel/VersionController/versionController.test.js b/openecomp-ui/test/nfvo-components/panel/VersionController/versionController.test.js
index f2db01f..64304ab 100644
--- a/openecomp-ui/test/nfvo-components/panel/VersionController/versionController.test.js
+++ b/openecomp-ui/test/nfvo-components/panel/VersionController/versionController.test.js
@@ -1,23 +1,23 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2017 European Support Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 
 
 import React from 'react';
-
-import TestUtils from 'react-addons-test-utils';
+import ShallowRenderer from 'react-test-renderer/shallow';
+import TestUtils from 'react-dom/test-utils';
 import VersionController from 'nfvo-components/panel/versionController/VersionController.jsx';
 import {actionsEnum} from 'nfvo-components/panel/versionController/VersionControllerConstants.js';
 import {scryRenderedDOMComponentsWithTestId} from 'test-utils/Util.js';
@@ -36,7 +36,7 @@
 	const store = storeCreator();
 
 	it('function does exist', () => {
-		var renderer = TestUtils.createRenderer();
+		const renderer = new ShallowRenderer();
 
 		renderer.render(<Provider store={store}><VersionController {...props} /></Provider>);
 		var renderedOutput = renderer.getRenderOutput();
