diff --git a/tensorflow/python/ops/variable_scope.py b/tensorflow/python/ops/variable_scope.py
index 9defc23ac9c..5e16fe4d988 100644
--- a/tensorflow/python/ops/variable_scope.py
+++ b/tensorflow/python/ops/variable_scope.py
@@ -259,7 +259,7 @@ class _VariableStore(object):
 
     shape = tensor_shape.as_shape(shape)
     if initializing_from_value:
-      shape = initializer.get_shape()
+      shape = shape.merge_with(initializer.get_shape())
 
     if not reuse_without_partition:
       if not shape.is_fully_defined():