diff --git a/music21/stream/__init__.py b/music21/stream/__init__.py
index 5133aa68f..e3d28c408 100644
--- a/music21/stream/__init__.py
+++ b/music21/stream/__init__.py
@@ -9970,6 +9970,7 @@ class Stream(core.StreamCoreMixin, base.Music21Object):
                 ...
                 {3.5} <music21.note.Note A>
             {8.0} <music21.stream.Measure 3 offset=8.0>
+                {0.0} <music21.bar.Barline type=final>
         <BLANKLINE>
 
         If `separateById` is True then all voices with the same id
@@ -10054,7 +10055,7 @@ class Stream(core.StreamCoreMixin, base.Music21Object):
             # merge everything except Voices; this will get
             # clefs
             mActive.mergeElements(m, classFilterList=(
-                'Bar', 'TimeSignature', 'Clef', 'KeySignature'))
+                'Barline', 'TimeSignature', 'Clef', 'KeySignature'))
 
             # vIndex = 0 should not be necessary, but pylint warns on loop variables
             # that could possibly be undefined used out of the loop.
@@ -10105,6 +10106,9 @@ class Stream(core.StreamCoreMixin, base.Music21Object):
                     for i in range(1, partCount):
                         mEmpty = Measure()
                         mEmpty.mergeAttributes(m)
+                        # Propagate bar, meter, key elements to lower parts
+                        mEmpty.mergeElements(m, classFilterList=('Barline',
+                                            'TimeSignature', 'KeySignature'))
                         s.parts[i].insert(self.elementOffset(m), mEmpty)
         # if part has no measures but has voices, contents of each voice go into the part
         elif self.hasVoices():
@@ -12836,7 +12840,7 @@ class Score(Stream):
                         # attributes; possible other parts may have other attributes
                         mActive.mergeAttributes(m)
                         mActive.mergeElements(m, classFilterList=(
-                            'Bar', 'TimeSignature', 'Clef', 'KeySignature'))
+                            'Barline', 'TimeSignature', 'Clef', 'KeySignature'))
 
                         # if m.timeSignature is not None:
                         #     mActive.timeSignature = m.timeSignature
@@ -12855,7 +12859,7 @@ class Score(Stream):
                         if setStems and hasattr(e, 'stemDirection'):
                             e.stemDirection = 'up' if pIndex % 2 == 0 else 'down'
                         v.insert(e.getOffsetBySite(m), e)
-                    # insert voice in new  measure
+                    # insert voice in new measure
                     # environLocal.printDebug(['inserting voice', v, v.id, 'into measure', mActive])
                     mActive.insert(0, v)
                     # mActive.show('t')

diff --git a/music21/test/testStream.py b/music21/test/testStream.py
index ecc105b2b..8925c2bef 100644
--- a/music21/test/testStream.py
+++ b/music21/test/testStream.py
@@ -5391,6 +5391,34 @@ class Test(unittest.TestCase):
 
         # s1.show()
 
+    def testVoicesToPartsNonNoteElementPropagation(self):
+        k = key.Key('E')
+        ts = meter.TimeSignature('2/4')
+        b1 = bar.Barline('regular')
+        b2 = bar.Barline('final')
+
+        s = Score()
+        m1 = Measure()  # No voices
+        m1.append((k, ts, note.Note(type='half')))
+        m1.rightBarline = b1
+        m2 = Measure()  # Has voices
+        v1 = Voice()
+        v2 = Voice()
+        v1.append(note.Note(type='half'))
+        v2.append(note.Note(type='half'))
+        m2.insert(0, v1)
+        m2.insert(0, v2)
+        m2.rightBarline = b2
+        s.append((m1, m2))
+
+        partScore = s.voicesToParts()
+        for part in partScore.parts:
+            flattenedPart = part.flat
+            self.assertIn(k, flattenedPart)
+            self.assertIn(ts, flattenedPart)
+            self.assertIsNotNone(part.getElementsByClass("Measure")[0].rightBarline)
+            self.assertIsNotNone(part.getElementsByClass("Measure")[1].rightBarline)
+
     def testMergeElements(self):
         from music21 import stream
         s1 = stream.Stream()

voicesToParts
voicesToParts seemingly doesn't transfers initial time and key signatures if the first measure doesn't contain a second voice (even if subsequent measures do).

The images show how this looks when opened in MuseScore, (some other notation softwares will 'correct' the issue, masking the problem).

![Before](https://user-images.githubusercontent.com/19486660/87411703-fe0e5900-c5bf-11ea-822a-7f71bea1a8b2.png)
![After](https://user-images.githubusercontent.com/19486660/87411716-023a7680-c5c0-11ea-8a09-f2ddb1551ec3.png)

music21/test/testStream.py::Test::testVoicesToPartsNonNoteElementPropagation
music21/test/testStream.py::Test::testAccumulatedTimeA music21/test/testStream.py::Test::testAccumulatedTimeB music21/test/testStream.py::Test::testActivateVariantsA music21/test/testStream.py::Test::testActivateVariantsB music21/test/testStream.py::Test::testActivateVariantsBySpanA music21/test/testStream.py::Test::testActivateVariantsBySpanB music21/test/testStream.py::Test::testActivateVariantsC music21/test/testStream.py::Test::testActivateVariantsD music21/test/testStream.py::Test::testActivateVariantsE music21/test/testStream.py::Test::testActiveSiteCopiedStreams music21/test/testStream.py::Test::testActiveSiteMangling music21/test/testStream.py::Test::testActiveSites music21/test/testStream.py::Test::testActiveSitesMultiple music21/test/testStream.py::Test::testAdd music21/test/testStream.py::Test::testAddSlurByMelisma music21/test/testStream.py::Test::testAnalyze music21/test/testStream.py::Test::testAugmentOrDiminishBasic music21/test/testStream.py::Test::testAugmentOrDiminishCorpus music21/test/testStream.py::Test::testAugmentOrDiminishHighestTimes music21/test/testStream.py::Test::testBestTimeSignature music21/test/testStream.py::Test::testChordifyA music21/test/testStream.py::Test::testChordifyB music21/test/testStream.py::Test::testChordifyC music21/test/testStream.py::Test::testChordifyD music21/test/testStream.py::Test::testChordifyE music21/test/testStream.py::Test::testChordifyF music21/test/testStream.py::Test::testChordifyG music21/test/testStream.py::Test::testChordifyImported music21/test/testStream.py::Test::testChordifyRests music21/test/testStream.py::Test::testChordifyTagPartA music21/test/testStream.py::Test::testChordifyTagPartB music21/test/testStream.py::Test::testClefs music21/test/testStream.py::Test::testContextNestedA music21/test/testStream.py::Test::testContextNestedB music21/test/testStream.py::Test::testContextNestedC music21/test/testStream.py::Test::testContextNestedD music21/test/testStream.py::Test::testDeepcopyActiveSite music21/test/testStream.py::Test::testDeepcopySpanners music21/test/testStream.py::Test::testDerivationA music21/test/testStream.py::Test::testDerivationB music21/test/testStream.py::Test::testDerivationC music21/test/testStream.py::Test::testDerivationMethodA music21/test/testStream.py::Test::testDoubleStreamPlacement music21/test/testStream.py::Test::testElements music21/test/testStream.py::Test::testElementsHighestTimeA music21/test/testStream.py::Test::testElementsHighestTimeB music21/test/testStream.py::Test::testElementsHighestTimeC music21/test/testStream.py::Test::testExtendDurationA music21/test/testStream.py::Test::testExtendTiesA music21/test/testStream.py::Test::testExtendTiesB music21/test/testStream.py::Test::testExtractedNoteAssignLyric music21/test/testStream.py::Test::testFinalBarlinePropertyA music21/test/testStream.py::Test::testFinalBarlinePropertyB music21/test/testStream.py::Test::testFindConsecutiveNotes music21/test/testStream.py::Test::testFindGaps music21/test/testStream.py::Test::testFlatCachingA music21/test/testStream.py::Test::testFlatCachingB music21/test/testStream.py::Test::testFlatCachingC music21/test/testStream.py::Test::testFlatSimple music21/test/testStream.py::Test::testFlattenUnnecessaryVoicesA music21/test/testStream.py::Test::testGetElementAfterElement music21/test/testStream.py::Test::testGetElementAtOrBeforeBarline music21/test/testStream.py::Test::testGetElementBeforeOffsetA music21/test/testStream.py::Test::testGetElementBeforeOffsetB music21/test/testStream.py::Test::testGetElementsByContextStream music21/test/testStream.py::Test::testGetElementsByOffsetZeroLength music21/test/testStream.py::Test::testGetInstrumentFromMxl music21/test/testStream.py::Test::testGetInstrumentManual music21/test/testStream.py::Test::testGetKeySignatures music21/test/testStream.py::Test::testGetKeySignaturesThreeMeasures music21/test/testStream.py::Test::testGetTimeSignatures music21/test/testStream.py::Test::testGetVariantsA music21/test/testStream.py::Test::testGraceChords music21/test/testStream.py::Test::testGracesInStream music21/test/testStream.py::Test::testHaveAccidentalsBeenMadeA music21/test/testStream.py::Test::testHaveAccidentalsBeenMadeB music21/test/testStream.py::Test::testHaveBeamsBeenMadeA music21/test/testStream.py::Test::testHaveBeamsBeenMadeB music21/test/testStream.py::Test::testInsertAndShiftBasic music21/test/testStream.py::Test::testInsertAndShiftMultipleElements music21/test/testStream.py::Test::testInsertAndShiftNoDuration music21/test/testStream.py::Test::testInsertIntoNoteOrChordA music21/test/testStream.py::Test::testInsertIntoNoteOrChordB music21/test/testStream.py::Test::testInvertDiatonicA music21/test/testStream.py::Test::testInvertDiatonicQuickSearch music21/test/testStream.py::Test::testIteration music21/test/testStream.py::Test::testMakeAccidentalsA music21/test/testStream.py::Test::testMakeAccidentalsB music21/test/testStream.py::Test::testMakeAccidentalsC music21/test/testStream.py::Test::testMakeAccidentalsD music21/test/testStream.py::Test::testMakeAccidentalsOctaveKS music21/test/testStream.py::Test::testMakeAccidentalsTies music21/test/testStream.py::Test::testMakeAccidentalsWithKeysInMeasures music21/test/testStream.py::Test::testMakeChordsBuiltA music21/test/testStream.py::Test::testMakeChordsBuiltB music21/test/testStream.py::Test::testMakeChordsBuiltC music21/test/testStream.py::Test::testMakeChordsBuiltD music21/test/testStream.py::Test::testMakeChordsImported music21/test/testStream.py::Test::testMakeMeasuresInPlace music21/test/testStream.py::Test::testMakeMeasuresMeterStream music21/test/testStream.py::Test::testMakeMeasuresTimeSignatures music21/test/testStream.py::Test::testMakeMeasuresWithBarlines music21/test/testStream.py::Test::testMakeNotationA music21/test/testStream.py::Test::testMakeNotationB music21/test/testStream.py::Test::testMakeNotationC music21/test/testStream.py::Test::testMakeNotationKeySignatureMultiVoice music21/test/testStream.py::Test::testMakeNotationKeySignatureOneVoice music21/test/testStream.py::Test::testMakeNotationScoreA music21/test/testStream.py::Test::testMakeNotationScoreB music21/test/testStream.py::Test::testMakeNotationScoreC music21/test/testStream.py::Test::testMakeRestsA music21/test/testStream.py::Test::testMakeRestsB music21/test/testStream.py::Test::testMakeTies music21/test/testStream.py::Test::testMakeTupletBracketsA music21/test/testStream.py::Test::testMakeTupletBracketsB music21/test/testStream.py::Test::testMakeVoicesA music21/test/testStream.py::Test::testMakeVoicesB music21/test/testStream.py::Test::testMeasureAndTieCreation music21/test/testStream.py::Test::testMeasureBarDurationProportion music21/test/testStream.py::Test::testMeasureBarline music21/test/testStream.py::Test::testMeasureGrouping music21/test/testStream.py::Test::testMeasureLayout music21/test/testStream.py::Test::testMeasureOffsetMap music21/test/testStream.py::Test::testMeasureOffsetMapPostTie music21/test/testStream.py::Test::testMeasureRange music21/test/testStream.py::Test::testMeasureStream music21/test/testStream.py::Test::testMeasuresA music21/test/testStream.py::Test::testMeasuresAndMakeMeasures music21/test/testStream.py::Test::testMeasuresB music21/test/testStream.py::Test::testMeasuresC music21/test/testStream.py::Test::testMeasuresSuffix music21/test/testStream.py::Test::testMelodicIntervals music21/test/testStream.py::Test::testMelodicIntervalsB music21/test/testStream.py::Test::testMergeElements music21/test/testStream.py::Test::testMetadataOnStream music21/test/testStream.py::Test::testMidiEventsBuilt music21/test/testStream.py::Test::testMultipartStream music21/test/testStream.py::Test::testMusicXMLGenerationViaPropertyA music21/test/testStream.py::Test::testMusicXMLGenerationViaPropertyB music21/test/testStream.py::Test::testMusicXMLGenerationViaPropertyC music21/test/testStream.py::Test::testOpusSearch music21/test/testStream.py::Test::testOverlapsA music21/test/testStream.py::Test::testOverlapsB music21/test/testStream.py::Test::testPartDurationA music21/test/testStream.py::Test::testPartDurationB music21/test/testStream.py::Test::testPartsToVoicesA music21/test/testStream.py::Test::testPartsToVoicesB music21/test/testStream.py::Test::testQuantize music21/test/testStream.py::Test::testRecurseA music21/test/testStream.py::Test::testRecurseB music21/test/testStream.py::Test::testRemove music21/test/testStream.py::Test::testRemoveByClass music21/test/testStream.py::Test::testReplace music21/test/testStream.py::Test::testReplaceA1 music21/test/testStream.py::Test::testReplaceB music21/test/testStream.py::Test::testReplaceDerivated music21/test/testStream.py::Test::testScaleDurationsBasic music21/test/testStream.py::Test::testScaleOffsetsBasic music21/test/testStream.py::Test::testScaleOffsetsBasicInPlaceA music21/test/testStream.py::Test::testScaleOffsetsBasicInPlaceB music21/test/testStream.py::Test::testScaleOffsetsBasicInPlaceC music21/test/testStream.py::Test::testScaleOffsetsBasicInPlaceD music21/test/testStream.py::Test::testScaleOffsetsNested music21/test/testStream.py::Test::testScoreShowA music21/test/testStream.py::Test::testSecondsMapA music21/test/testStream.py::Test::testSecondsMapB music21/test/testStream.py::Test::testSecondsPropertyA music21/test/testStream.py::Test::testSecondsPropertyB music21/test/testStream.py::Test::testSecondsPropertyC music21/test/testStream.py::Test::testSemiFlatCachingA music21/test/testStream.py::Test::testSetElements music21/test/testStream.py::Test::testSetElementsFromOtherStreamWithEndElements music21/test/testStream.py::Test::testSimpleRecurse music21/test/testStream.py::Test::testSliceAtOffsetsBuilt music21/test/testStream.py::Test::testSliceAtOffsetsImported music21/test/testStream.py::Test::testSliceAtOffsetsSimple music21/test/testStream.py::Test::testSliceByBeatBuilt music21/test/testStream.py::Test::testSliceByBeatImported music21/test/testStream.py::Test::testSliceByGreatestDivisorBuilt music21/test/testStream.py::Test::testSliceByGreatestDivisorImported music21/test/testStream.py::Test::testSliceByQuarterLengthsBuilt music21/test/testStream.py::Test::testSliceByQuarterLengthsImported music21/test/testStream.py::Test::testSort music21/test/testStream.py::Test::testSortAndAutoSort music21/test/testStream.py::Test::testSortingAfterInsertA music21/test/testStream.py::Test::testSpannerTransferA music21/test/testStream.py::Test::testSplitAtQuarterLengthA music21/test/testStream.py::Test::testSplitAtQuarterLengthB music21/test/testStream.py::Test::testSplitAtQuarterLengthC music21/test/testStream.py::Test::testStoreAtEndFailures music21/test/testStream.py::Test::testStreamCopy music21/test/testStream.py::Test::testStreamDuration music21/test/testStream.py::Test::testStreamElementsComparison music21/test/testStream.py::Test::testStreamExceptionsOnAssert music21/test/testStream.py::Test::testStreamRecursion music21/test/testStream.py::Test::testStreamSortRecursion music21/test/testStream.py::Test::testStripTiesBuiltA music21/test/testStream.py::Test::testStripTiesBuiltB music21/test/testStream.py::Test::testStripTiesChords music21/test/testStream.py::Test::testStripTiesImportedA music21/test/testStream.py::Test::testStripTiesImportedB music21/test/testStream.py::Test::testStripTiesScore music21/test/testStream.py::Test::testTemplateAll music21/test/testStream.py::Test::testTransposeByPitchA music21/test/testStream.py::Test::testTransposeByPitchB music21/test/testStream.py::Test::testTransposeScore music21/test/testStream.py::Test::testTwoStreamMethods music21/test/testStream.py::Test::testTwoZeroOffset music21/test/testStream.py::Test::testVoicesA music21/test/testStream.py::Test::testVoicesALonger music21/test/testStream.py::Test::testVoicesB music21/test/testStream.py::Test::testVoicesC music21/test/testStream.py::Test::testVoicesToPartsA music21/test/testStream.py::Test::testYieldContainers music21/test/testStream.py::Test::test_makeBeams__1_e__after_16th_note music21/test/testStream.py::Test::test_makeBeams__1_e_n_a music21/test/testStream.py::Test::test_makeBeams__all_eighths music21/test/testStream.py::Test::test_makeBeams__all_quarters music21/test/testStream.py::Test::test_makeBeams__eighth_rests_and_eighth music21/test/testStream.py::Test::test_makeBeams__repeated_1_e_a music21/test/testStream.py::Test::testcontainerHierarchyA